From c69c2712b7fa986469769c8b6f397ed22a19decd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 22 Mar 2013 13:52:41 +0000 Subject: [PATCH 001/274] 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 7a5573ff98af717540949576ac1418364950f4fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 22 Mar 2013 15:09:46 +0100 Subject: [PATCH 002/274] Initial commit --- .gitignore | 1 + MySQL.tmpfiles.d | 1 + README.mysql-docs | 4 + README.mysql-license | 6 + community-mysql-chain-certs.patch | 41 + community-mysql-cipherspec.patch | 115 ++ community-mysql-dh1024.patch | 63 + community-mysql-dubious-exports.patch | 169 +++ community-mysql-errno.patch | 21 + community-mysql-expired-certs.patch | 555 +++++++ community-mysql-file-contents.patch | 27 + community-mysql-install-test.patch | 52 + community-mysql-logrotate.patch | 66 + community-mysql-major.patch | 12 + community-mysql-netdevname.patch | 59 + community-mysql-plugin-bool.patch | 42 + community-mysql-plugin-test.patch | 96 ++ community-mysql-s390-tsc.patch | 41 + community-mysql-stack-guard.patch | 139 ++ community-mysql-string-overflow.patch | 57 + community-mysql-strmov.patch | 34 + community-mysql-va-list.patch | 55 + community-mysql-versioning.patch | 18 + community-mysql.spec | 1938 +++++++++++++++++++++++++ filter-requires-mysql.sh | 5 + generate-tarball.sh | 15 + libmysql.version | 148 ++ my.cnf | 19 + my_config.h | 29 + mysql-embedded-check.c | 26 + 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 + 36 files changed, 4058 insertions(+) create mode 100644 MySQL.tmpfiles.d create mode 100644 README.mysql-docs create mode 100644 README.mysql-license create mode 100644 community-mysql-chain-certs.patch create mode 100644 community-mysql-cipherspec.patch create mode 100644 community-mysql-dh1024.patch create mode 100644 community-mysql-dubious-exports.patch create mode 100644 community-mysql-errno.patch create mode 100644 community-mysql-expired-certs.patch create mode 100644 community-mysql-file-contents.patch create mode 100644 community-mysql-install-test.patch create mode 100644 community-mysql-logrotate.patch create mode 100644 community-mysql-major.patch create mode 100644 community-mysql-netdevname.patch create mode 100644 community-mysql-plugin-bool.patch create mode 100644 community-mysql-plugin-test.patch create mode 100644 community-mysql-s390-tsc.patch create mode 100644 community-mysql-stack-guard.patch create mode 100644 community-mysql-string-overflow.patch create mode 100644 community-mysql-strmov.patch create mode 100644 community-mysql-va-list.patch create mode 100644 community-mysql-versioning.patch create mode 100644 community-mysql.spec create mode 100755 filter-requires-mysql.sh create mode 100755 generate-tarball.sh create mode 100644 libmysql.version create mode 100644 my.cnf create mode 100644 my_config.h create mode 100644 mysql-embedded-check.c 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..84390da 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/mysql-5.5.30-nodocs.tar.gz diff --git a/MySQL.tmpfiles.d b/MySQL.tmpfiles.d new file mode 100644 index 0000000..74cd5f8 --- /dev/null +++ b/MySQL.tmpfiles.d @@ -0,0 +1 @@ +d /var/run/mysqld 0755 mysql mysql - 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/community-mysql-chain-certs.patch b/community-mysql-chain-certs.patch new file mode 100644 index 0000000..164c22e --- /dev/null +++ b/community-mysql-chain-certs.patch @@ -0,0 +1,41 @@ +Fix things so that chains of certificates work in the server and client +certificate files. + +This only really works for OpenSSL-based builds, as yassl is unable to read +multiple certificates from a file. The patch below to yassl/src/ssl.cpp +doesn't fix that, but just arranges that the viosslfactories.c patch won't +have any ill effects in a yassl build. Since we don't use yassl in Red Hat/ +Fedora builds, I'm not feeling motivated to try to fix yassl for this. + +See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158 + + +diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp +--- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400 ++++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400 +@@ -1627,10 +1627,10 @@ + } + + +- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*) ++ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file) + { +- // TDOD: +- return SSL_SUCCESS; ++ // For the moment, treat like use_certificate_file ++ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert); + } + + +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-09-29 12:46:35.124975585 -0400 +@@ -106,7 +106,7 @@ + key_file= cert_file; + + if (cert_file && +- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) ++ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) + { + *error= SSL_INITERR_CERT; + DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file)); diff --git a/community-mysql-cipherspec.patch b/community-mysql-cipherspec.patch new file mode 100644 index 0000000..5210055 --- /dev/null +++ b/community-mysql-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 mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc +--- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100 +@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma + my_bool con_ssl= 0, con_compress= 0; + my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; + struct st_connection* con_slot; ++ char *con_cipher=NULL; + + static DYNAMIC_STRING ds_connection_name; + static DYNAMIC_STRING ds_host; +@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma + con_shm= 1; + else if (!strncmp(con_options, "CLEARTEXT", 9)) + con_cleartext_enable= 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); +@@ -5595,8 +5598,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 mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test +--- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100 +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca + 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 +@@ -125,7 +125,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 + + # +@@ -250,7 +250,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 mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test +--- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100 +@@ -2,7 +2,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other + ## encryption routines that the SSL library happens to provide! +diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test +--- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100 +@@ -7,7 +7,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); ++connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; +diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test +--- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100 +@@ -6,7 +6,7 @@ + # 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/community-mysql-dh1024.patch b/community-mysql-dh1024.patch new file mode 100644 index 0000000..620ee0b --- /dev/null +++ b/community-mysql-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/community-mysql-dubious-exports.patch b/community-mysql-dubious-exports.patch new file mode 100644 index 0000000..4a88d1d --- /dev/null +++ b/community-mysql-dubious-exports.patch @@ -0,0 +1,169 @@ +Prefix mysql_ to the real names of several symbols that have to be exported +from libmysqlclient because mysql-connector-odbc and/or PHP depend on them. +This limits the intrusion on application namespace. + +Also, remove all traces of make_scrambled_password and +make_scrambled_password_323, so that references to these functions draw +compile-time warnings, per a suggestion from Paul Howarth in bug #690346. +It doesn't seem worth trying to get rid of all the internal symbols exposed +by mysql.h, but these two are relatively easy to get rid of. + + +diff -up mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc +--- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100 +@@ -21,6 +21,7 @@ + #include /* because of signal() */ + #include + #include ++#include /* my_make_scrambled_password_323, my_make_scrambled_password */ + #include + #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ + +@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql + } + } + if (old) +- make_scrambled_password_323(crypted_pw, typed_password); ++ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password)); + else +- make_scrambled_password(crypted_pw, typed_password); ++ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password)); + } + else + crypted_pw[0]=0; /* No password */ +diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h +--- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100 +@@ -24,6 +24,7 @@ extern "C" { + #endif + void init_client_errs(void); + void finish_client_errs(void); ++#define client_errors mysql_client_errors /* namespace sanity */ + extern const char *client_errors[]; /* Error messages */ + #ifdef __cplusplus + } +diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h +--- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100 +@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio); + void my_net_local_init(NET *net); + void net_end(NET *net); + void net_clear(NET *net, my_bool clear_buffer); ++#define net_realloc mysql_net_realloc /* namespace sanity */ + my_bool net_realloc(NET *net, size_t length); + my_bool net_flush(NET *net); + my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); +@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *); + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); + + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); + +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp +--- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100 +@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio); + void my_net_local_init(NET *net); + void net_end(NET *net); + void net_clear(NET *net, my_bool clear_buffer); +-my_bool net_realloc(NET *net, size_t length); ++my_bool mysql_net_realloc(NET *net, size_t length); + my_bool net_flush(NET *net); + my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); + my_bool net_write_command(NET *net,unsigned char command, +@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un + double my_rnd(struct rand_struct *); + void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); + void hash_password(unsigned long *to, const char *password, unsigned int password_len); +-void make_scrambled_password_323(char *to, const char *password); + void scramble_323(char *to, const char *message, const char *password); + my_bool check_scramble_323(const unsigned char *reply, const char *message, + unsigned long *salt); + void get_salt_from_password_323(unsigned long *res, const char *password); + void make_password_from_salt_323(char *to, const unsigned long *salt); +-void make_scrambled_password(char *to, const char *password); + void scramble(char *to, const char *message, const char *password); + my_bool check_scramble(const unsigned char *reply, const char *message, + const unsigned char *hash_stage2); +diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h +--- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100 ++++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100 +@@ -218,6 +218,7 @@ extern uint my_large_page_size; + + /* charsets */ + #define MY_ALL_CHARSETS_SIZE 2048 ++#define default_charset_info mysql_default_charset_info /* namespace sanity */ + extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; + extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; + extern CHARSET_INFO compiled_charsets[]; +@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha + extern uint get_collation_number(const char *name); + extern const char *get_charset_name(uint cs_number); + ++#define get_charset mysql_get_charset /* namespace sanity */ ++#define get_charset_by_csname mysql_get_charset_by_csname ++ + extern CHARSET_INFO *get_charset(uint cs_number, myf flags); + extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); + extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, +diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c +--- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100 +@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char + + + /* +- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI +- compatibility. +- In server code usage of my_make_scrambled_password_323() is preferred to +- avoid strlen(). +- SYNOPSIS +- make_scrambled_password_323() +- to OUT store scrambled password here +- password IN NULL-terminated string with user-supplied password +-*/ +- +-void make_scrambled_password_323(char *to, const char *password) +-{ +- my_make_scrambled_password_323(to, password, strlen(password)); +-} +- +- +-/* + Scramble string with password. + Used in pre 4.1 authentication phase. + SYNOPSIS +@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to + + + /* +- Wrapper around my_make_scrambled_password() to maintain client lib ABI +- compatibility. +- In server code usage of my_make_scrambled_password() is preferred to +- avoid strlen(). +- SYNOPSIS +- make_scrambled_password() +- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string +- password IN NULL-terminated password string +-*/ +- +-void make_scrambled_password(char *to, const char *password) +-{ +- my_make_scrambled_password(to, password, strlen(password)); +-} +- +- +-/* + Produce an obscure octet sequence from password and random + string, recieved from the server. This sequence corresponds to the + password, but password can not be easily restored from it. The sequence diff --git a/community-mysql-errno.patch b/community-mysql-errno.patch new file mode 100644 index 0000000..ce9d7a1 --- /dev/null +++ b/community-mysql-errno.patch @@ -0,0 +1,21 @@ +"extern int errno" is just a really bad idea. + + +diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h +--- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100 +@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr); + #define my_afree(PTR) my_free(PTR) + #endif /* HAVE_ALLOCA */ + +-#ifndef errno /* did we already get it? */ +-#ifdef HAVE_ERRNO_AS_DEFINE + #include /* errno is a define */ +-#else +-extern int errno; /* declare errno */ +-#endif +-#endif /* #ifndef errno */ ++ + extern char *home_dir; /* Home directory for user */ + extern const char *my_progname; /* program-name (printed in errors) */ + extern char curr_dir[]; /* Current directory for user */ diff --git a/community-mysql-expired-certs.patch b/community-mysql-expired-certs.patch new file mode 100644 index 0000000..acd3a78 --- /dev/null +++ b/community-mysql-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/community-mysql-file-contents.patch b/community-mysql-file-contents.patch new file mode 100644 index 0000000..73c680d --- /dev/null +++ b/community-mysql-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 -Naur mysql-5.5.21.orig/mysql-test/t/file_contents.test mysql-5.5.21/mysql-test/t/file_contents.test +--- mysql-5.5.21.orig/mysql-test/t/file_contents.test 2012-01-31 06:28:15.000000000 -0500 ++++ mysql-5.5.21/mysql-test/t/file_contents.test 2012-02-27 17:18:57.716087918 -0500 +@@ -31,6 +31,15 @@ + } else { + # RedHat: version number in directory name + $dir_docs = glob "$dir_docs/MySQL-server*"; ++ ++ # 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/community-mysql-install-test.patch b/community-mysql-install-test.patch new file mode 100644 index 0000000..a31a280 --- /dev/null +++ b/community-mysql-install-test.patch @@ -0,0 +1,52 @@ +Improve the documentation that will be installed in the mysql-test RPM. + + +diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README +--- mysql-5.5.20.orig/mysql-test/README 2011-12-16 14:52:05.000000000 -0500 ++++ mysql-5.5.20/mysql-test/README 2012-02-10 17:06:19.531082253 -0500 +@@ -1,14 +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. ++the currently existing test cases, execute ./mysql-test-run in ++this directory. + +-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. +- +-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: ++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://dev.mysql.com/doc/mysql/en/mysql-test-suite.html + +@@ -25,7 +37,8 @@ + + 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 diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch new file mode 100644 index 0000000..f76237d --- /dev/null +++ b/community-mysql-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/community-mysql-major.patch b/community-mysql-major.patch new file mode 100644 index 0000000..1b1071e --- /dev/null +++ b/community-mysql-major.patch @@ -0,0 +1,12 @@ +diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake +--- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100 ++++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100 +@@ -17,7 +17,7 @@ + # Global constants, only to be changed between major releases. + # + +-SET(SHARED_LIB_MAJOR_VERSION "18") ++SET(SHARED_LIB_MAJOR_VERSION "1018") + SET(PROTOCOL_VERSION "10") + SET(DOT_FRM_VERSION "6") + diff --git a/community-mysql-netdevname.patch b/community-mysql-netdevname.patch new file mode 100644 index 0000000..af17f13 --- /dev/null +++ b/community-mysql-netdevname.patch @@ -0,0 +1,59 @@ +diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c +--- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200 ++++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100 +@@ -68,28 +68,47 @@ err: + #include + #include + ++#define MAX_IFS 64 ++ + my_bool my_gethwaddr(uchar *to) + { + int fd, res= 1; + struct ifreq ifr; + char zero_array[ETHER_ADDR_LEN] = {0}; ++ struct ifconf ifc; ++ struct ifreq ifs[MAX_IFS], *ifri, *ifend; + + fd = socket(AF_INET, SOCK_DGRAM, 0); + if (fd < 0) + goto err; + +- bzero(&ifr, sizeof(ifr)); +- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1); ++ ifc.ifc_len = sizeof(ifs); ++ ifc.ifc_req = ifs; ++ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) ++ { ++ close(fd); ++ goto err; ++ } ++ ++ memcpy(to, zero_array, ETHER_ADDR_LEN); + +- do ++ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq)); ++ for (ifri = ifc.ifc_req; ifri < ifend; ifri++) + { +- if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) ++ if (ifri->ifr_addr.sa_family == AF_INET) + { +- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); +- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1; ++ bzero(&ifr, sizeof(ifr)); ++ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name)); ++ ++ /* Get HW address */ ++ if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) ++ { ++ memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); ++ if (!(res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1)) ++ break; ++ } + } +- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6'); +- ++ } + close(fd); + err: + return res; diff --git a/community-mysql-plugin-bool.patch b/community-mysql-plugin-bool.patch new file mode 100644 index 0000000..abea580 --- /dev/null +++ b/community-mysql-plugin-bool.patch @@ -0,0 +1,42 @@ +Fix plugin boolean variables to receive the value "1", not "-1", when they +are set to 1. Aside from being bizarre, the existing behavior is unportable: +machines where char is unsigned print "255" instead. Filed upstream at +http://bugs.mysql.com/bug.php?id=59905 + + +diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result +--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 +@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled + ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL + select @@global.rpl_semi_sync_master_enabled; + @@global.rpl_semi_sync_master_enabled +--1 ++1 + select @@session.rpl_semi_sync_master_enabled; + ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable + show global variables like 'rpl_semi_sync_master_enabled'; +diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result +--- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 ++++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 +@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled= + ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL + select @@global.rpl_semi_sync_slave_enabled; + @@global.rpl_semi_sync_slave_enabled +--1 ++1 + select @@session.rpl_semi_sync_slave_enabled; + ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable + show global variables like 'rpl_semi_sync_slave_enabled'; +diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc +--- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100 +@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str + goto err; + result= (int) tmp; + } +- *(my_bool *) save= -result; ++ *(my_bool *) save= result ? true : false; + return 0; + err: + return 1; diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch new file mode 100644 index 0000000..8ffb46b --- /dev/null +++ b/community-mysql-plugin-test.patch @@ -0,0 +1,96 @@ +mysql_plugin.test fails when run in mysql-test RPM, though the build-time +regression test is OK. This patch is from the pre-existing upstream bug +report, except we also fix the part that tries to scribble on the +read-only-to-us plugin directory. + +rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 + + +diff -up mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt +--- mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt 2012-03-14 16:54:19.060951822 +0100 +@@ -1 +1 @@ +---plugin-dir=$DAEMONEXAMPLE_DIR ++--plugin-dir=$MYSQLTEST_VARDIR/plugin +diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-test/t/mysql_plugin.test +--- mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin 2012-01-31 12:28:15.000000000 +0100 ++++ mysql-5.5.21/mysql-test/t/mysql_plugin.test 2012-03-14 17:11:40.769295981 +0100 +@@ -25,8 +25,10 @@ + # Add the datadir, basedir, plugin_dir to the bootstrap command + let $MYSQLD_DATADIR= `select @@datadir`; + let $MYSQL_BASEDIR= `select @@basedir`; ++let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp; + let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`; + let $PLUGIN_DIR=`select @@plugin_dir`; ++let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR; + + --disable_abort_on_error + +@@ -51,10 +53,11 @@ use File::Basename; + { + print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n"; + } +- if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) +- { +- print FILE "let \$PLUGIN_DIR= $not_found;\n"; +- } ++# This test doesn't work because $ENV{PLUGIN_DIR} is empty ++# if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) ++# { ++# print FILE "let \$PLUGIN_DIR= $not_found;\n"; ++# } + close FILE; + EOF + +@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc; + # mysql version, so errmsg.sys will be copied to "basedir/share", we create + # and remove this structure. + +---mkdir $MYSQLD_BASEDIR/share +---mkdir $MYSQLD_BASEDIR/share/mysql +---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys +---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys ++--mkdir $MYSQLD_TMP_BASEDIR/share ++--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--mkdir $PLUGIN_DIR ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys ++--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so ++--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini ++ + + # The mysql_plugin tool now accepts --my-print-defaults which points to the + # executable my_print_defaults.exe we can get this path from the variable +@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '') + + # Build client command for reuse. + +-let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; ++let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; + + --echo # + --echo # Ensure the plugin isn't loaded. +@@ -202,7 +209,7 @@ EOF + # we must copy the example daemon to a new location renaming it. + + let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; +---copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD ++--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD + --copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini + + # Now reload it and see that it is a different name. +@@ -395,8 +402,11 @@ EOF + --remove_file $expect_file + + # Cleanup the share folder in the binary path. +---remove_file $MYSQLD_BASEDIR/share/errmsg.sys +---rmdir $MYSQLD_BASEDIR/share/mysql +---rmdir $MYSQLD_BASEDIR/share ++--remove_file $PLUGIN_DIR/daemon_example.ini ++--remove_file $PLUGIN_DIR/libdaemon_example.so ++--rmdir $PLUGIN_DIR ++--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys ++--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share + + --enable_abort_on_error diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch new file mode 100644 index 0000000..f995266 --- /dev/null +++ b/community-mysql-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/community-mysql-stack-guard.patch b/community-mysql-stack-guard.patch new file mode 100644 index 0000000..c01c1a7 --- /dev/null +++ b/community-mysql-stack-guard.patch @@ -0,0 +1,139 @@ +mysql is not accounting for the "guard page" when setting thread stack size +requests. This is fatal on PPC systems, which may use guard pages as large +as 64K. This patch also documents the IA64 situation a bit better. + +Note: there are quite a few other setstacksize calls besides the two in +mysqld.cc; is it important to fix any of the others? + +Filed upstream at http://bugs.mysql.com/bug.php?id=35019 + + +diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc +--- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100 +@@ -2599,6 +2599,70 @@ static void init_signals(void) + } + + ++/* pthread_attr_setstacksize without so much platform-dependency */ ++/* returns the actual stack size if possible */ ++static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize) ++{ ++ size_t guard_size = 0; ++ ++#if defined(__ia64__) || defined(__ia64) ++ /* ++ On IA64, half of the requested stack size is used for "normal stack" ++ and half for "register stack". The space measured by check_stack_overrun ++ is the "normal stack", so double the request to make sure we have the ++ caller-expected amount of normal stack. ++ ++ NOTE: there is no guarantee that the register stack can't grow faster ++ than normal stack, so it's very unclear that we won't dump core due to ++ stack overrun despite check_stack_overrun's efforts. Experimentation ++ shows that in the execution_constants test, the register stack grows ++ less than half as fast as normal stack, but perhaps other scenarios are ++ less forgiving. If it turns out that more space is needed for the ++ register stack, that could be forced (rather inefficiently) by using a ++ multiplier higher than 2 here. ++ */ ++ stacksize *= 2; ++#endif ++ ++ /* ++ On many machines, the "guard space" is subtracted from the requested ++ stack size, and that space is quite large on some platforms. So add ++ it to our request, if we can find out what it is. ++ ++ FIXME: autoconfiscate use of pthread_attr_getguardsize ++ */ ++ if (pthread_attr_getguardsize(attr, &guard_size)) ++ guard_size = 0; /* if can't find it out, treat as 0 */ ++ ++ pthread_attr_setstacksize(attr, stacksize + guard_size); ++ ++ /* Retrieve actual stack size if possible */ ++#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE ++ { ++ size_t real_stack_size= 0; ++ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */ ++ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 && ++ real_stack_size > guard_size) ++ { ++ real_stack_size -= guard_size; ++ if (real_stack_size < stacksize) ++ { ++ if (global_system_variables.log_warnings) ++ sql_print_warning("Asked for %ld thread stack, but got %ld", ++ (long) stacksize, (long) real_stack_size); ++ stacksize= real_stack_size; ++ } ++ } ++ } ++#endif ++ ++#if defined(__ia64__) || defined(__ia64) ++ stacksize /= 2; ++#endif ++ return stacksize; ++} ++ ++ + static void start_signal_handler(void) + { + int error; +@@ -2609,15 +2673,7 @@ static void start_signal_handler(void) + #if !defined(HAVE_DEC_3_2_THREADS) + pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM); + (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); +-#if defined(__ia64__) || defined(__ia64) +- /* +- Peculiar things with ia64 platforms - it seems we only have half the +- stack size in reality, so we have to double it here +- */ +- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2); +-#else +- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size); +-#endif ++ (void) my_setstacksize(&thr_attr,my_thread_stack_size); + #endif + + mysql_mutex_lock(&LOCK_thread_count); +@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv) + unireg_abort(1); // Will do exit + + init_signals(); +-#if defined(__ia64__) || defined(__ia64) +- /* +- Peculiar things with ia64 platforms - it seems we only have half the +- stack size in reality, so we have to double it here +- */ +- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2); +-#else +- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size); +-#endif + #ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE +- { +- /* Retrieve used stack size; Needed for checking stack overflows */ +- size_t stack_size= 0; +- pthread_attr_getstacksize(&connection_attrib, &stack_size); +-#if defined(__ia64__) || defined(__ia64) +- stack_size/= 2; +-#endif +- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ +- if (stack_size && stack_size < my_thread_stack_size) +- { +- if (global_system_variables.log_warnings) +- sql_print_warning("Asked for %lu thread stack, but got %ld", +- my_thread_stack_size, (long) stack_size); +-#if defined(__ia64__) || defined(__ia64) +- my_thread_stack_size= stack_size*2; +-#else +- my_thread_stack_size= stack_size; +-#endif +- } +- } ++ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size); + #endif + + (void) thr_setconcurrency(concurrency); // 10 by default diff --git a/community-mysql-string-overflow.patch b/community-mysql-string-overflow.patch new file mode 100644 index 0000000..eaa40f6 --- /dev/null +++ b/community-mysql-string-overflow.patch @@ -0,0 +1,57 @@ +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 mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc +--- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100 +@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c + { + 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/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. +/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc +--- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100 +@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us + void Table_triggers_list::set_parse_error_message(char *error_message) + { + m_has_unparseable_trigger= true; +- strcpy(m_parse_error_message, error_message); ++ strncpy(m_parse_error_message, error_message, sizeof(m_parse_error_message)-1); + } + + + + +Error: STRING_OVERFLOW: +/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length. +/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. + +diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc +--- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100 +@@ -7054,7 +7054,7 @@ ha_innobase::create( + + ut_a(strlen(name) < sizeof(name2)); + +- strcpy(name2, name); ++ strncpy(name2, name, sizeof(name2)-1); + + normalize_table_name(norm_name, name2); + diff --git a/community-mysql-strmov.patch b/community-mysql-strmov.patch new file mode 100644 index 0000000..2a78619 --- /dev/null +++ b/community-mysql-strmov.patch @@ -0,0 +1,34 @@ +Remove overly optimistic definition of strmov() as stpcpy(). + +mysql uses this macro with overlapping source and destination strings, +which is verboten per spec, and fails on some Red Hat platforms. +Deleting the definition is sufficient to make it fall back to a +byte-at-a-time copy loop, which should consistently give the +expected behavior. + +Note: the particular case that prompted this patch is reported and fixed +at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's +ability to detect this type of error is low, and I also see little evidence +of any real performance gain from optimizing these calls. So I'm keeping +this patch. + + +diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h +--- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100 +@@ -77,15 +77,6 @@ extern "C" { + extern void *(*my_str_malloc)(size_t); + extern void (*my_str_free)(void *); + +-#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) +-#define strmov(A,B) __builtin_stpcpy((A),(B)) +-#elif defined(HAVE_STPCPY) +-#define strmov(A,B) stpcpy((A),(B)) +-#ifndef stpcpy +-extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */ +-#endif +-#endif +- + /* Declared in int2str() */ + extern char _dig_vec_upper[]; + extern char _dig_vec_lower[]; diff --git a/community-mysql-va-list.patch b/community-mysql-va-list.patch new file mode 100644 index 0000000..552457c --- /dev/null +++ b/community-mysql-va-list.patch @@ -0,0 +1,55 @@ +Fix unportable usage associated with va_list arguments. Passing "0" to +a va_list argument only works if va_list is an integer or pointer type, +which is not required by the C spec, and is not true on ARM for instance. +Per bug #744707. + + +diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c +--- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200 ++++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100 +@@ -233,11 +233,13 @@ int mysql_client_plugin_init() + { + MYSQL mysql; + struct st_mysql_client_plugin **builtin; ++ va_list unused; + + if (initialized) + return 0; + + bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */ ++ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ + + pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW); + init_alloc_root(&mem_root, 128, 128); +@@ -249,7 +251,7 @@ int mysql_client_plugin_init() + pthread_mutex_lock(&LOCK_load_client_plugin); + + for (builtin= mysql_client_builtins; *builtin; builtin++) +- add_plugin(&mysql, *builtin, 0, 0, 0); ++ add_plugin(&mysql, *builtin, 0, 0, unused); + + pthread_mutex_unlock(&LOCK_load_client_plugin); + +@@ -293,9 +295,13 @@ struct st_mysql_client_plugin * + mysql_client_register_plugin(MYSQL *mysql, + struct st_mysql_client_plugin *plugin) + { ++ va_list unused; ++ + if (is_not_initialized(mysql, plugin->name)) + return NULL; + ++ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ ++ + pthread_mutex_lock(&LOCK_load_client_plugin); + + /* make sure the plugin wasn't loaded meanwhile */ +@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq + plugin= NULL; + } + else +- plugin= add_plugin(mysql, plugin, 0, 0, 0); ++ plugin= add_plugin(mysql, plugin, 0, 0, unused); + + pthread_mutex_unlock(&LOCK_load_client_plugin); + return plugin; diff --git a/community-mysql-versioning.patch b/community-mysql-versioning.patch new file mode 100644 index 0000000..6374b6c --- /dev/null +++ b/community-mysql-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/community-mysql.spec b/community-mysql.spec new file mode 100644 index 0000000..0877f06 --- /dev/null +++ b/community-mysql.spec @@ -0,0 +1,1938 @@ +Name: community-mysql +Version: 5.5.30 +Release: 5%{?dist} + +Summary: MySQL client programs and shared libraries +Group: Applications/Databases +URL: http://www.mysql.com +# exceptions allow client libraries to be linked with most open source SW, +# not only GPL code. See README.mysql-license +# Some innobase code from Percona and Google is under BSD license +# Some code related to test-suite is under LGPLv2 +License: GPLv2 with exceptions and LGPLv2 and BSD + +# Regression tests take a long time, you can skip 'em with this +%{!?runselftest:%global runselftest 0} + +# Upstream has a mirror redirector for downloads, so the URL is hard to +# represent statically. You can get the tarball by following a link from +# http://dev.mysql.com/downloads/mysql/ +Source0: mysql-%{version}-nodocs.tar.gz +# The upstream tarball includes non-free documentation that we cannot ship. +# To remove the non-free documentation, run this script after downloading +# the tarball into the current directory: +# ./generate-tarball.sh $VERSION +Source1: generate-tarball.sh +Source3: my.cnf +Source5: my_config.h +Source6: README.mysql-docs +Source7: README.mysql-license +Source8: libmysql.version +Source9: mysql-embedded-check.c +Source10: MySQL.tmpfiles.d +Source11: mysqld.service +Source12: mysqld-prepare-db-dir +Source13: mysqld-wait-ready +Source14: rh-skipped-tests-base.list +Source15: rh-skipped-tests-arm.list +# Working around perl dependency checking bug in rpm FTTB. Remove later. +Source999: filter-requires-mysql.sh + +# Comments for these patches are in the patch files. +Patch1: community-mysql-errno.patch +Patch2: community-mysql-strmov.patch +Patch3: community-mysql-install-test.patch +Patch4: community-mysql-expired-certs.patch +Patch5: community-mysql-stack-guard.patch +Patch6: community-mysql-chain-certs.patch +Patch7: community-mysql-versioning.patch +Patch8: community-mysql-dubious-exports.patch +Patch10: community-mysql-plugin-bool.patch +Patch11: community-mysql-s390-tsc.patch +Patch14: community-mysql-va-list.patch +Patch15: community-mysql-netdevname.patch +Patch16: community-mysql-logrotate.patch +Patch17: community-mysql-plugin-test.patch +Patch18: community-mysql-cipherspec.patch +Patch19: community-mysql-file-contents.patch +Patch20: community-mysql-string-overflow.patch +Patch21: community-mysql-dh1024.patch +Patch22: community-mysql-major.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) + +Requires: grep, fileutils, bash +Requires: %{name}-common%{?_isa} = %{version}-%{release} +%{?systemd_requires: %systemd_requires} + +# mariadb is MySQL replacement that is used in Fedora as a default +# MySQL implementation +Conflicts: mariadb +Provides: mysql = %{version}-%{release} +Provides: mysql%{?_isa} = %{version}-%{release} + +# When rpm 4.9 is universal, this could be cleaned up: +%global __perl_requires %{SOURCE999} +%global __perllib_requires %{SOURCE999} + +# By default, patch(1) creates backup files when chunks apply with offsets. +# Turn that off to ensure such files don't get included in RPMs (cf bz#884755). +%global _default_patch_flags --no-backup-if-mismatch + +%description +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. The base package +contains the standard MySQL client programs and generic MySQL files. + +%package libs + +Summary: The shared libraries required for MySQL clients +Group: Applications/Databases +Requires: /sbin/ldconfig +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Provides: mysql-libs = %{version}-%{release} +Provides: mysql-libs%{?_isa} = %{version}-%{release} + +%description libs +The mysql-libs package provides the essential shared libraries for any +MySQL client program or interface. You will need to install this package +to use any other MySQL package or any clients that need to connect to a +MySQL server. + +%package common + +Summary: The shared files required for MySQL server and client +Group: Applications/Databases + +%description common +The mysql-common package provides the essential shared files for any +MySQL program. You will need to install this package to use any other +MySQL package. + +%package server + +Summary: The MySQL server and related files +Group: Applications/Databases +Requires: mysql%{?_isa} +Requires: %{name}-common%{?_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: mariadb-server +Provides: mysql-server = %{version}-%{release} +Provides: mysql-server%{?_isa} = %{version}-%{release} + +%description server +MySQL is a multi-user, multi-threaded SQL database server. MySQL is a +client/server implementation consisting of a server daemon (mysqld) +and many different client programs and libraries. This package contains +the MySQL server and some accompanying files and directories. + +%package devel + +Summary: Files for development of MySQL applications +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: openssl-devel%{?_isa} +Conflicts: mariadb-devel +Provides: mysql-devel = %{version}-%{release} +Provides: mysql-devel%{?_isa} = %{version}-%{release} + +%description devel +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the libraries and header files that are needed for +developing MySQL client applications. + +%package embedded + +Summary: MySQL as an embeddable library +Group: Applications/Databases +Provides: mysql-embedded = %{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{version}-%{release} + +%description embedded +MySQL is a multi-user, multi-threaded SQL database server. This +package contains a version of the MySQL server that can be embedded +into a client application instead of running as a separate process. + +%package embedded-devel + +Summary: Development files for MySQL as an embeddable library +Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Conflicts: mariadb-embedded-devel +Provides: mysql-embedded-devel = %{version}-%{release} +Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} + +%description embedded-devel +MySQL is a multi-user, multi-threaded SQL database server. This +package contains files needed for developing and testing with +the embedded version of the MySQL server. + +%package bench + +Summary: MySQL benchmark scripts and data +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: mariadb-bench +Provides: mysql-bench = %{version}-%{release} +Provides: mysql-bench%{?_isa} = %{version}-%{release} + +%description bench +MySQL is a multi-user, multi-threaded SQL database server. This +package contains benchmark scripts and data for use when benchmarking +MySQL. + +%package test + +Summary: The test suite distributed with MySQL +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-test +Provides: mysql-test = %{version}-%{release} +Provides: mysql-test%{?_isa} = %{version}-%{release} + +%description test +MySQL is a multi-user, multi-threaded SQL database server. This +package contains the regression test suite distributed with +the MySQL sources. + +%prep +%setup -q -n mysql-%{version} + +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch10 -p1 +%patch11 -p1 +%patch14 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -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 + +%build + +# fail quickly and obviously if user tries to build as root +%if %runselftest + if [ x"`id -u`" = x0 ]; then + echo "mysql's regression tests fail if run as root." + echo "If you really need to build the RPM as root, use" + echo "--define='runselftest 0' to skip the regression tests." + exit 1 + fi +%endif + +CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +# MySQL 4.1.10 definitely doesn't work under strict aliasing; also, +# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv +CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" +# 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 + +# 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/%{name} \ + -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 + +make %{?_smp_mflags} VERBOSE=1 + +# regular build will make libmysqld.a but not libmysqld.so :-( +mkdir libmysqld/work +cd libmysqld/work +ar -x ../libmysqld.a +# these result in missing dependencies: (filed upstream as bug 59104) +rm -f sql_binlog.cc.o rpl_utility.cc.o +gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \ + *.o ../../probes_mysql.o \ + -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc +# this is to check that we built a complete library +cp %{SOURCE9} . +ln -s libmysqld.so.0.0.1 libmysqld.so.0 +gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 +LD_LIBRARY_PATH=. ldd ./a.out +cd ../.. + +%check +%if %runselftest + # hack to let 32- and 64-bit tests run concurrently on same build machine + case `uname -m` in + ppc64 | ppc64p7 | s390x | x86_64 | sparc64 ) + MTR_BUILD_THREAD=7 + ;; + *) + MTR_BUILD_THREAD=11 + ;; + esac + export MTR_BUILD_THREAD + + make test VERBOSE=1 + + # The cmake build scripts don't provide any simple way to control the + # options for mysql-test-run, so ignore the make target and just call it + # manually. Nonstandard options chosen are: + # --force to continue tests after a failure + # no retries please + # test SSL with --ssl + # skip tests that are listed in rh-skipped-tests.list + # avoid redundant test runs with --binlog-format=mixed + # increase timeouts to prevent unwanted failures during mass rebuilds + ( + cd mysql-test + perl ./mysql-test-run.pl --force --retry=0 --ssl \ + --skip-test-list=rh-skipped-tests.list \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 + # cmake build scripts will install the var cruft if left alone :-( + rm -rf var + ) +%endif + +%install +make DESTDIR=$RPM_BUILD_ROOT install + +# 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 | ppc64p7 | s390 | s390x | sparc | sparc64 ) + mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ + ;; + *) + ;; +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 mysql-file-contents.patch) +install -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +install -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ + +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, install libmysqld.so +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a +install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1 +ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0 +ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so + +# 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 + +# We specified a different share dir, but the test suite expects some +# data files under /usr/share/mysql, so we create symlinks to compatibility +for f in errmsg-utf8.txt fill_help_tables.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql + do + ln -sf "../MySQL/$f" "${RPM_BUILD_ROOT}/usr/share/mysql/$f" + done + +# Remove files that %%doc will install in preferred location +rm -f ${RPM_BUILD_ROOT}/usr/COPYING +rm -f ${RPM_BUILD_ROOT}/usr/README + +# Remove files we don't want installed at all +rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY +rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog +rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty +rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty +# should move this to /etc/ ? +rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf +rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded +rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* + +# 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/etc/ld.so.conf.d +echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/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 + +%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 "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : + +%post libs -p /sbin/ldconfig + +%post server +%systemd_post mysqld.service +/bin/chmod 0755 /var/lib/mysql +/bin/touch /var/log/mysqld.log + +%post embedded -p /sbin/ldconfig + +%preun server +%systemd_preun mysqld.service + +%postun libs -p /sbin/ldconfig + +%postun server +%systemd_postun_with_restart mysqld.service + +%postun embedded -p /sbin/ldconfig + +%files +%doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +%doc README.mysql-docs + +%{_bindir}/msql2mysql +%{_bindir}/mysql +%{_bindir}/mysql_config +%{_bindir}/mysql_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 + +%{_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* + +%{_libdir}/mysql/mysql_config + +%files libs +%doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google +# although the default my.cnf contains only server settings, we put it in the +# libs package because it can be used for client settings too. +%config(noreplace) /etc/my.cnf +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient.so.* +/etc/ld.so.conf.d/* + +%files common +%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 + +%{_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 + +%{_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}/%{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}/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 +%{_includedir}/mysql +%{_datadir}/aclocal/mysql.m4 +%{_libdir}/mysql/libmysqlclient.so +%{_libdir}/mysql/libmysqlclient_r.so + +%files embedded +%doc README COPYING 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 +* Wed Mar 20 2013 Honza Horak 5.5.30-5 +- Renaming package MySQL to community-mysql to handle issues + introduced by case-insensitive operations of yum and for proper + prioritizing mariadb over community-mysql + +* Tue Mar 12 2013 Honza Horak 5.5.30-4 +- Allow server to be installed without client side +- Separate -lib and -common sub-packages +- Fix some path issues in tests + +* Mon Mar 11 2013 Honza Horak 5.5.30-3 +- Adjusting major soname number of libmysqlclient to avoid + library name conflicts with mariadb + +* Mon Mar 4 2013 Honza Horak 5.5.30-2 +- Renaming package mysql to MySQL to handle conflicting issues + with mariadb, which became default + +* Tue Feb 12 2013 Honza Horak 5.5.30-1 +- Update to MySQL 5.5.30, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html + +* Tue Feb 12 2013 Honza Horak 5.5.29-3 +- Use real- prefix for cross-package requirements + +* Mon Feb 11 2013 Honza Horak 5.5.29-2 +- Provide own symbols with real- prefix to distinguish packages from other + MySQL implementations unambiguously + +* Wed Jan 2 2013 Tom Lane 5.5.29-1 +- Update to MySQL 5.5.29, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-29.html +- Fix inaccurate default for socket location in mysqld-wait-ready +Resolves: #890535 + +* Thu Dec 6 2012 Honza Horak 5.5.28-3 +- Rebase patches to not leave backup files when not applied smoothly +- Use --no-backup-if-mismatch to prevent including backup files + +* Wed Dec 5 2012 Tom Lane 5.5.28-2 +- Add patch for CVE-2012-5611 +Resolves: #883642 +- Widen DH key length from 512 to 1024 bits to meet minimum requirements + of FIPS 140-2 +Related: #877124 + +* Sat Sep 29 2012 Tom Lane 5.5.28-1 +- Update to MySQL 5.5.28, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-28.html +- Clean up partially-created database files when mysql_install_db fails +Related: #835131 +- Honor user and group settings from service file in mysqld-prepare-db-dir +Resolves: #840431 +- Export THR_KEY_mysys as a workaround for inadequate threading support +Resolves: #846602 +- Adopt new systemd macros for server package install/uninstall triggers +Resolves: #850222 +- Use --no-defaults when invoking mysqladmin to wait for the server to start +Related: #855704 + +* Sun Aug 5 2012 Tom Lane 5.5.27-1 +- Update to MySQL 5.5.27, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-27.html + +* Fri Jul 20 2012 Fedora Release Engineering - 5.5.25a-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jul 6 2012 Tom Lane 5.5.25a-1 +- Update to MySQL 5.5.25a, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25a.html + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-25.html +- Don't use systemd's Restart feature; rely on mysqld_safe instead +Resolves: #832029 + +* Mon Jun 11 2012 Tom Lane 5.5.24-1 +- Update to MySQL 5.5.24, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-24.html + including the fix for CVE-2012-2122 +Resolves: #830680 +- Tweak logrotate script to put the right permissions on mysqld.log +- Minor specfile fixes for recent packaging guidelines changes + +* Sat Apr 28 2012 Tom Lane 5.5.23-1 +- Update to MySQL 5.5.23, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-23.html + +* Sat Mar 24 2012 Tom Lane 5.5.22-1 +- Update to MySQL 5.5.22, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-22.html +- Turn on PrivateTmp in service file +Resolves: #782513 +- Comment out the contents of /etc/logrotate.d/mysqld, so that manual + action is needed to enable log rotation. Given the multiple ways in + which the rotation script can fail, it seems imprudent to try to make + it run by default. +Resolves: #799735 + +* Tue Mar 20 2012 Honza Horak 5.5.21-3 +- Revise mysql_plugin test patch so it moves plugin files to + a temporary directory (better solution to #789530) + +* Tue Mar 13 2012 Honza Horak 5.5.21-2 +- Fix ssl-related tests to specify expected cipher explicitly +Related: #789600 +- Fix several strcpy calls to check destination size + +* Mon Feb 27 2012 Tom Lane 5.5.21-1 +- Update to MySQL 5.5.21, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-21.html +- Hack openssl regression test to still work with rawhide's openssl +- Fix assorted failures in post-install regression tests (mysql-test RPM) +Resolves: #789530 + +* Fri Feb 10 2012 Tom Lane 5.5.20-2 +- Revise our test-disabling method to make it possible to disable tests on a + platform-specific basis, and also to get rid of mysql-disable-test.patch, + which broke in just about every upstream update (Honza Horak) +- Disable cycle-counter-dependent regression tests on ARM, since there is + not currently any support for that in Fedora ARM kernels +Resolves: #773116 +- Add some comments to mysqld.service documenting how to customize it +Resolves: #785243 + +* Fri Jan 27 2012 Tom Lane 5.5.20-1 +- Update to MySQL 5.5.20, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-20.html + as well as security fixes described at + http://www.oracle.com/technetwork/topics/security/cpujan2012-366304.html +Resolves: #783828 +- Re-include the mysqld logrotate script, now that it's not so bogus +Resolves: #547007 + +* Wed Jan 4 2012 Tom Lane 5.5.19-1 +- Update to MySQL 5.5.19, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-19.html + +* Sun Nov 20 2011 Tom Lane 5.5.18-1 +- Update to MySQL 5.5.18, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-18.html + +* Sat Nov 12 2011 Tom Lane 5.5.17-1 +- Update to MySQL 5.5.17, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-17.html +- Get rid of version-number assumption in sysv-to-systemd conversion trigger + +* Wed Nov 02 2011 Honza Horak 5.5.16-4 +- Don't assume all ethernet devices are named ethX +Resolves: #682365 +- Exclude user definition from my.cnf, user is defined in mysqld.service now +Resolves: #661265 + +* Sun Oct 16 2011 Tom Lane 5.5.16-3 +- Fix unportable usage associated with va_list arguments +Resolves: #744707 + +* Sun Oct 16 2011 Tom Lane 5.5.16-2 +- Update to MySQL 5.5.16, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-16.html + +* Fri Jul 29 2011 Tom Lane 5.5.15-2 +- Update to MySQL 5.5.15, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-15.html + +* Wed Jul 27 2011 Tom Lane 5.5.14-3 +- Convert to systemd startup support (no socket activation, for now anyway) +Related: #714426 + +* Tue Jul 12 2011 Tom Lane 5.5.14-2 +- Remove make_scrambled_password and make_scrambled_password_323 from mysql.h, + since we're not allowing clients to call those functions anyway +Related: #690346 + +* Mon Jul 11 2011 Tom Lane 5.5.14-1 +- Update to MySQL 5.5.14, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html + +* Wed Jul 6 2011 Tom Lane 5.5.13-2 +- Remove erroneously-included Default-Start line from LSB init block +Resolves: #717024 + +* Thu Jun 2 2011 Tom Lane 5.5.13-1 +- Update to MySQL 5.5.13, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-13.html + +* Tue May 10 2011 Tom Lane 5.5.12-1 +- Update to MySQL 5.5.12, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-12.html + +* Tue May 10 2011 Tom Lane 5.5.10-3 +- Add LSB init block to initscript, to ensure sane ordering at system boot +Resolves: #703214 +- Improve initscript start action to notice when mysqladmin is failing + because of configuration problems +Related: #703476 +- Remove exclusion of "gis" regression test, since upstream bug 59908 + is fixed (for some value of "fixed") as of 5.5.10. + +* Wed Mar 23 2011 Tom Lane 5.5.10-2 +- Add my_make_scrambled_password to the list of symbols exported by + libmysqlclient.so. Needed at least by pure-ftpd. + +* Mon Mar 21 2011 Tom Lane 5.5.10-1 +- Update to MySQL 5.5.10, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-10.html + Note that this includes a rather belated soname version bump for + libmysqlclient.so, from .16 to .18 +- Add tmpfiles.d config file so that /var/run/mysqld is recreated at boot + (only needed in Fedora 15 and later) +Resolves: #658938 + +* Wed Feb 16 2011 Tom Lane 5.5.9-2 +- Disable a regression test that is now showing platform-dependent results +Resolves: #674253 + +* Sat Feb 12 2011 Tom Lane 5.5.9-1 +- Update to MySQL 5.5.9, for various fixes described at + http://dev.mysql.com/doc/refman/5.5/en/news-5-5-9.html +- Add %%{?_isa} to cross-subpackage Requires, per latest packaging guidelines + +* Tue Feb 08 2011 Fedora Release Engineering - 5.5.8-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Feb 4 2011 Tom Lane 5.5.8-9 +- Support s390/s390x in performance schema's cycle-counting functions + (needed to make regression tests pass on these platforms) + +* Thu Feb 3 2011 Tom Lane 5.5.8-8 +- PPC64 floating-point differences are not masked by -ffloat-store after all, + so let's just disable gis regression test till upstream makes it less picky +Resolves: #674253 +- Add __perllib_requires setting to make rpm 4.9 do what we need + +* Wed Feb 2 2011 Tom Lane 5.5.8-7 +- Work around some portability issues on PPC64 +Resolves: #674253 + +* Thu Jan 20 2011 Tom Lane 5.5.8-6 +- Remove no-longer-needed special switches in CXXFLAGS, per yesterday's + discussion in fedora-devel about -fexceptions. +- Rebuild needed anyway to check compatibility with latest systemtap. + +* Thu Jan 13 2011 Tom Lane 5.5.8-5 +- Fix failure to honor MYSQL_HOME environment variable +Resolves: #669364 + +* Thu Jan 13 2011 Tom Lane 5.5.8-4 +- Fix crash during startup of embedded mysqld library +Resolves: #667365 + +* Mon Jan 3 2011 Tom Lane 5.5.8-3 +- my_print_help, load_defaults, free_defaults, and handle_options all turn + out to be documented/recommended in Paul DuBois' MySQL book, so we'd better + consider them part of the de-facto API. +Resolves: #666728 + +* Mon Dec 27 2010 Tom Lane 5.5.8-2 +- Add mysql_client_errors[] to the set of exported libmysqlclient symbols; + needed by PHP. + +* Thu Dec 23 2010 Tom Lane 5.5.8-1 +- Update to MySQL 5.5.8 (major version bump). Note this includes removal + of libmysqlclient_r.so. +- Add a linker version script to hide libmysqlclient functions that aren't + part of the documented API. + +* Mon Nov 1 2010 Tom Lane 5.1.52-1 +- Update to MySQL 5.1.52, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-52.html +Resolves: #646569 + +* Thu Oct 7 2010 Tom Lane 5.1.51-2 +- Re-disable the outfile_loaddata test, per report from Dan Horak. + +* Wed Oct 6 2010 Tom Lane 5.1.51-1 +- Update to MySQL 5.1.51, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-51.html + +* Sat Aug 28 2010 Tom Lane 5.1.50-2 +- Include my_compiler.h in distribution, per upstream bug #55846. + Otherwise PHP, for example, won't build. + +* Sat Aug 28 2010 Tom Lane 5.1.50-1 +- Update to MySQL 5.1.50, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-49.html + +* Wed Jul 14 2010 Tom Lane 5.1.48-3 +- Fix FTBFS with gcc 4.5. +Related: #614293 + +* Tue Jul 13 2010 Tom Lane 5.1.48-2 +- Duplicate COPYING and EXCEPTIONS-CLIENT in -libs and -embedded subpackages, + to ensure they are available when any subset of mysql RPMs are installed, + per revised packaging guidelines +- Allow init script's STARTTIMEOUT/STOPTIMEOUT to be overridden from sysconfig +Related: #609734 + +* Mon Jun 21 2010 Tom Lane 5.1.48-1 +- Update to MySQL 5.1.48, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-48.html + including a fix for CVE-2010-2008 +Related: #614214 + +* Fri Jun 4 2010 Tom Lane 5.1.47-2 +- Add back "partition" storage engine +Resolves: #597390 +- Fix broken "federated" storage engine plugin +Related: #587170 +- Read all certificates in SSL certificate files, to support chained certs +Related: #598656 + +* Mon May 24 2010 Tom Lane 5.1.47-1 +- Update to MySQL 5.1.47, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-47.html + including fixes for CVE-2010-1848, CVE-2010-1849, CVE-2010-1850 +Resolves: #592862 +Resolves: #583717 +- Create mysql group explicitly in pre-server script, to ensure correct GID +Related: #594155 + +* Sat Apr 24 2010 Tom Lane 5.1.46-1 +- Update to MySQL 5.1.46, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-46.html + +* Thu Mar 25 2010 Tom Lane 5.1.45-2 +- Fix multiple problems described in upstream bug 52019, because regression + tests fail on PPC if we don't. + +* Wed Mar 24 2010 Tom Lane 5.1.45-1 +- Update to MySQL 5.1.45, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-45.html + +* Sun Feb 21 2010 Tom Lane 5.1.44-2 +- Add "Obsoletes: mysql-cluster" to fix upgrade-in-place from F-12 +- Bring init script into some modicum of compliance with Fedora/LSB standards +Related: #557711 +Related: #562749 + +* Sat Feb 20 2010 Tom Lane 5.1.44-1 +- Update to MySQL 5.1.44, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-44.html +- Remove mysql.info, which is not freely redistributable +Resolves: #560181 +- Revert broken upstream fix for their bug 45058 +Resolves: #566547 + +* Sat Feb 13 2010 Tom Lane 5.1.43-2 +- Remove mysql-cluster, which is no longer supported by upstream in this + source distribution. If we want it we'll need a separate SRPM for it. + +* Fri Feb 12 2010 Tom Lane 5.1.43-1 +- Update to MySQL 5.1.43, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-43.html + +* Fri Jan 29 2010 Tom Lane 5.1.42-7 +- Add backported patch for CVE-2008-7247 (upstream bug 39277) +Related: #543619 +- Use non-expired certificates for SSL testing (upstream bug 50702) + +* Tue Jan 26 2010 Tom Lane 5.1.42-6 +- Emit explicit error message if user tries to build RPM as root +Related: #558915 + +* Wed Jan 20 2010 Tom Lane 5.1.42-5 +- Correct Source0: tag and comment to reflect how to get the tarball + +* Fri Jan 8 2010 Tom Lane 5.1.42-4 +- Disable symbolic links by default in /etc/my.cnf +Resolves: #553652 + +* Tue Jan 5 2010 Tom Lane 5.1.42-3 +- Remove static libraries (.a files) from package, per packaging guidelines +- Change %%define to %%global, per packaging guidelines + +* Sat Jan 2 2010 Tom Lane 5.1.42-2 +- Disable building the innodb plugin; it tickles assorted gcc bugs and + doesn't seem entirely ready for prime time anyway. + +* Fri Jan 1 2010 Tom Lane 5.1.42-1 +- Update to MySQL 5.1.42, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-42.html +- Start mysqld_safe with --basedir=/usr, to avoid unwanted SELinux messages +Resolves: #547485 + +* Thu Dec 17 2009 Tom Lane 5.1.41-2 +- Stop waiting during "service mysqld start" if mysqld_safe exits +Resolves: #544095 + +* Mon Nov 23 2009 Tom Lane 5.1.41-1 +- Update to MySQL 5.1.41, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-41.html + including fixes for CVE-2009-4019 +Related: #540906 +- Don't set old_passwords=1; we aren't being bug-compatible with 3.23 anymore +Resolves: #540735 + +* Tue Nov 10 2009 Tom Lane 5.1.40-1 +- Update to MySQL 5.1.40, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-40.html +- Do not force the --log-error setting in mysqld init script +Resolves: #533736 + +* Sat Oct 17 2009 Tom Lane 5.1.39-4 +- Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132) + +* Thu Oct 15 2009 Tom Lane 5.1.39-3 +- Work around two different compiler bugs on sparc, one by backing off + optimization from -O2 to -O1, and the other with a klugy patch +Related: #529298, #529299 +- Clean up bogosity in multilib stub header support: ia64 should not be + listed (it's not multilib), sparc and sparc64 should be + +* Wed Sep 23 2009 Tom Lane 5.1.39-2 +- Work around upstream bug 46895 by disabling outfile_loaddata test + +* Tue Sep 22 2009 Tom Lane 5.1.39-1 +- Update to MySQL 5.1.39, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-39.html + +* Mon Aug 31 2009 Tom Lane 5.1.37-5 +- Work around unportable assumptions about stpcpy(); re-enable main.mysql test +- Clean up some obsolete parameters to the configure script + +* Sat Aug 29 2009 Tom Lane 5.1.37-4 +- Remove one misguided patch; turns out I was chasing a glibc bug +- Temporarily disable "main.mysql" test; there's something broken there too, + but we need to get mysql built in rawhide for dependency reasons + +* Fri Aug 21 2009 Tomas Mraz - 5.1.37-3 +- rebuilt with new openssl + +* Fri Aug 14 2009 Tom Lane 5.1.37-2 +- Add a couple of patches to improve the probability of the regression tests + completing in koji builds + +* Sun Aug 2 2009 Tom Lane 5.1.37-1 +- Update to MySQL 5.1.37, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-37.html + +* Sat Jul 25 2009 Fedora Release Engineering - 5.1.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 10 2009 Tom Lane 5.1.36-1 +- Update to MySQL 5.1.36, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-36.html + +* Sat Jun 6 2009 Tom Lane 5.1.35-1 +- Update to MySQL 5.1.35, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-35.html +- Ensure that /var/lib/mysql is created with the right SELinux context +Resolves: #502966 + +* Fri May 15 2009 Tom Lane 5.1.34-1 +- Update to MySQL 5.1.34, for various fixes described at + http://dev.mysql.com/doc/refman/5.1/en/news-5-1-34.html +- Increase startup timeout per bug #472222 + +* Wed Apr 15 2009 Tom Lane 5.1.33-2 +- Increase stack size of ndbd threads for safety's sake. +Related: #494631 + +* Tue Apr 7 2009 Tom Lane 5.1.33-1 +- Update to MySQL 5.1.33. +- Disable use of pthread_setschedparam; doesn't work the way code expects. +Related: #477624 + +* Wed Mar 4 2009 Tom Lane 5.1.32-1 +- Update to MySQL 5.1.32. + +* Wed Feb 25 2009 Fedora Release Engineering - 5.1.31-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 13 2009 Tom Lane 5.1.31-1 +- Update to MySQL 5.1.31. + +* Thu Jan 22 2009 Tom Lane 5.1.30-2 +- hm, apparently --with-innodb and --with-ndbcluster are still needed + even though no longer documented ... + +* Thu Jan 22 2009 Tom Lane 5.1.30-1 +- Update to MySQL 5.1.30. Note that this includes an ABI break for + libmysqlclient (it's now got .so major version 16). +- This also updates mysql for new openssl build + +* Wed Oct 1 2008 Tom Lane 5.0.67-2 +- Build the "embedded server" library, and package it in a new sub-RPM + mysql-embedded, along with mysql-embedded-devel for devel support files. +Resolves: #149829 + +* Sat Aug 23 2008 Tom Lane 5.0.67-1 +- Update to mysql version 5.0.67 +- Move mysql_config's man page to base package, again (apparently I synced + that change the wrong way while importing specfile changes for ndbcluster) + +* Sun Jul 27 2008 Tom Lane 5.0.51a-2 +- Enable ndbcluster support +Resolves: #163758 +- Suppress odd crash messages during package build, caused by trying to + build dbug manual (which we don't install anyway) with dbug disabled +Resolves: #437053 +- Improve mysql.init to pass configured datadir to mysql_install_db, + and to force user=mysql for both mysql_install_db and mysqld_safe. +Related: #450178 + +* Mon Mar 3 2008 Tom Lane 5.0.51a-1 +- Update to mysql version 5.0.51a + +* Mon Mar 3 2008 Tom Lane 5.0.45-11 +- Fix mysql-stack-guard patch to work correctly on IA64 +- Fix mysql.init to wait correctly when socket is not in default place +Related: #435494 + +* Mon Mar 03 2008 Dennis Gilmore 5.0.45-10 +- add sparc64 to 64 bit arches for test suite checking +- add sparc, sparcv9 and sparc64 to multilib handling + +* Thu Feb 28 2008 Tom Lane 5.0.45-9 +- Fix the stack overflow problem encountered in January. It seems the real +issue is that the buildfarm machines were moved to RHEL5, which uses 64K not +4K pages on PPC, and because RHEL5 takes the guard area out of the requested +thread stack size we no longer had enough headroom. +Related: #435337 + +* Tue Feb 19 2008 Fedora Release Engineering - 5.0.45-8 +- Autorebuild for GCC 4.3 + +* Tue Jan 8 2008 Tom Lane 5.0.45-7 +- Unbelievable ... upstream still thinks that it's a good idea to have a + regression test that is guaranteed to begin failing come January 1. +- ... and it seems we need to raise STACK_MIN_SIZE again too. + +* Thu Dec 13 2007 Tom Lane 5.0.45-6 +- Back-port upstream fixes for CVE-2007-5925, CVE-2007-5969, CVE-2007-6303. +Related: #422211 + +* Wed Dec 5 2007 Tom Lane 5.0.45-5 +- Rebuild for new openssl + +* Sat Aug 25 2007 Tom Lane 5.0.45-4 +- Seems we need explicit BuildRequires on gawk and procps now +- Rebuild to fix Fedora toolchain issues + +* Sun Aug 12 2007 Tom Lane 5.0.45-3 +- Recent perl changes in rawhide mean we need a more specific BuildRequires + +* Thu Aug 2 2007 Tom Lane 5.0.45-2 +- Update License tag to match code. +- Work around recent Fedora change that makes "open" a macro name. + +* Sun Jul 22 2007 Tom Lane 5.0.45-1 +- Update to MySQL 5.0.45 +Resolves: #246535 +- Move mysql_config's man page to base package +Resolves: #245770 +- move my_print_defaults to base RPM, for consistency with Stacks packaging +- mysql user is no longer deleted at RPM uninstall +Resolves: #241912 + +* Thu Mar 29 2007 Tom Lane 5.0.37-2 +- Use a less hacky method of getting default values in initscript +Related: #233771, #194596 +- Improve packaging of mysql-libs per suggestions from Remi Collet +Resolves: #233731 +- Update default /etc/my.cnf ([mysql.server] has been bogus for a long time) + +* Mon Mar 12 2007 Tom Lane 5.0.37-1 +- Update to MySQL 5.0.37 +Resolves: #231838 +- Put client library into a separate mysql-libs RPM to reduce dependencies +Resolves: #205630 + +* Fri Feb 9 2007 Tom Lane 5.0.33-1 +- Update to MySQL 5.0.33 +- Install band-aid fix for "view" regression test designed to fail after 2006 +- Don't chmod -R the entire database directory tree on every startup +Related: #221085 +- Fix unsafe use of install-info +Resolves: #223713 +- Cope with new automake in F7 +Resolves: #224171 + +* Thu Nov 9 2006 Tom Lane 5.0.27-1 +- Update to MySQL 5.0.27 (see CVE-2006-4031, CVE-2006-4226, CVE-2006-4227) +Resolves: #202247, #202675, #203427, #203428, #203432, #203434, #208641 +- Fix init script to return status 1 on server start timeout +Resolves: #203910 +- Move mysqldumpslow from base package to mysql-server +Resolves: #193559 +- Adjust link options for BDB module +Resolves: #199368 + +* Wed Jul 12 2006 Jesse Keating - 5.0.22-2.1 +- rebuild + +* Sat Jun 10 2006 Tom Lane 5.0.22-2 +- Work around brew's tendency not to clean up failed builds completely, + by adding code in mysql-testing.patch to kill leftover mysql daemons. + +* Thu Jun 8 2006 Tom Lane 5.0.22-1 +- Update to MySQL 5.0.22 (fixes CVE-2006-2753) +- Install temporary workaround for gcc bug on s390x (bz #193912) + +* Tue May 2 2006 Tom Lane 5.0.21-2 +- Fix bogus perl Requires for mysql-test + +* Mon May 1 2006 Tom Lane 5.0.21-1 +- Update to MySQL 5.0.21 + +* Mon Mar 27 2006 Tom Lane 5.0.18-4 +- Modify multilib header hack to not break non-RH arches, per bug #181335 +- Remove logrotate script, per bug #180639. +- Add a new mysql-test RPM to carry the regression test files; + hack up test scripts as needed to make them run in /usr/share/mysql-test. + +* Fri Feb 10 2006 Jesse Keating - 5.0.18-2.1 +- bump again for double-long bug on ppc(64) + +* Thu Feb 9 2006 Tom Lane 5.0.18-2 +- err-log option has been renamed to log-error, fix my.cnf and initscript + +* Tue Feb 07 2006 Jesse Keating - 5.0.18-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Thu Jan 5 2006 Tom Lane 5.0.18-1 +- Update to MySQL 5.0.18 + +* Thu Dec 15 2005 Tom Lane 5.0.16-4 +- fix my_config.h for ppc platforms + +* Thu Dec 15 2005 Tom Lane 5.0.16-3 +- my_config.h needs to guard against 64-bit platforms that also define the + 32-bit symbol + +* Wed Dec 14 2005 Tom Lane 5.0.16-2 +- oops, looks like we want uname -i not uname -m + +* Mon Dec 12 2005 Tom Lane 5.0.16-1 +- Update to MySQL 5.0.16 +- Add EXCEPTIONS-CLIENT license info to the shipped documentation +- Make my_config.h architecture-independent for multilib installs; + put the original my_config.h into my_config_$ARCH.h +- Add -fwrapv to CFLAGS so that gcc 4.1 doesn't break it + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Mon Nov 14 2005 Tom Lane 5.0.15-3 +- Make stop script wait for daemon process to disappear (bz#172426) + +* Wed Nov 9 2005 Tom Lane 5.0.15-2 +- Rebuild due to openssl library update. + +* Thu Nov 3 2005 Tom Lane 5.0.15-1 +- Update to MySQL 5.0.15 (scratch build for now) + +* Wed Oct 5 2005 Tom Lane 4.1.14-1 +- Update to MySQL 4.1.14 + +* Tue Aug 23 2005 Tom Lane 4.1.12-3 +- Use politically correct patch name. + +* Tue Jul 12 2005 Tom Lane 4.1.12-2 +- Fix buffer overflow newly exposed in isam code; it's the same issue + previously found in myisam, and not very exciting, but I'm tired of + seeing build warnings. + +* Mon Jul 11 2005 Tom Lane 4.1.12-1 +- Update to MySQL 4.1.12 (includes a fix for bz#158688, bz#158689) +- Extend mysql-test-ssl.patch to solve rpl_openssl test failure (bz#155850) +- Update mysql-lock-ssl.patch to match the upstream committed version +- Add --with-isam to re-enable the old ISAM table type, per bz#159262 +- Add dependency on openssl-devel per bz#159569 +- Remove manual.txt, as upstream decided not to ship it anymore; + it was redundant with the mysql.info file anyway. + +* Mon May 9 2005 Tom Lane 4.1.11-4 +- Include proper locking for OpenSSL in the server, per bz#155850 + +* Mon Apr 25 2005 Tom Lane 4.1.11-3 +- Enable openssl tests during build, per bz#155850 +- Might as well turn on --disable-dependency-tracking + +* Fri Apr 8 2005 Tom Lane 4.1.11-2 +- Avoid dependency on , cause it won't build anymore on ia64. + This is probably a cleaner solution for bz#143537, too. + +* Thu Apr 7 2005 Tom Lane 4.1.11-1 +- Update to MySQL 4.1.11 to fix bz#152911 as well as other issues +- Move perl-DBI, perl-DBD-MySQL dependencies to server package (bz#154123) +- Override configure thread library test to suppress HAVE_LINUXTHREADS check +- Fix BDB failure on s390x (bz#143537) +- At last we can enable "make test" on all arches + +* Fri Mar 11 2005 Tom Lane 4.1.10a-1 +- Update to MySQL 4.1.10a to fix security vulnerabilities (bz#150868, + for CAN-2005-0711, and bz#150871 for CAN-2005-0709, CAN-2005-0710). + +* Sun Mar 6 2005 Tom Lane 4.1.10-3 +- Fix package Requires: interdependencies. + +* Sat Mar 5 2005 Tom Lane 4.1.10-2 +- Need -fno-strict-aliasing in at least one place, probably more. +- Work around some C spec violations in mysql. + +* Fri Feb 18 2005 Tom Lane 4.1.10-1 +- Update to MySQL 4.1.10. + +* Sat Jan 15 2005 Tom Lane 4.1.9-1 +- Update to MySQL 4.1.9. + +* Wed Jan 12 2005 Tom Lane 4.1.7-10 +- Don't assume /etc/my.cnf will specify pid-file (bz#143724) + +* Wed Jan 12 2005 Tim Waugh 4.1.7-9 +- Rebuilt for new readline. + +* Tue Dec 21 2004 Tom Lane 4.1.7-8 +- Run make test on all archs except s390x (which seems to have a bdb issue) + +* Mon Dec 13 2004 Tom Lane 4.1.7-7 +- Suppress someone's silly idea that libtool overhead can be skipped + +* Sun Dec 12 2004 Tom Lane 4.1.7-6 +- Fix init script to not need a valid username for startup check (bz#142328) +- Fix init script to honor settings appearing in /etc/my.cnf (bz#76051) +- Enable SSL (bz#142032) + +* Thu Dec 2 2004 Tom Lane 4.1.7-5 +- Add a restorecon to keep the mysql.log file in the right context (bz#143887) + +* Tue Nov 23 2004 Tom Lane 4.1.7-4 +- Turn off old_passwords in default /etc/my.cnf file, for better compatibility + with mysql 3.x clients (per suggestion from Joe Orton). + +* Fri Oct 29 2004 Tom Lane 4.1.7-3 +- Handle ldconfig more cleanly (put a file in /etc/ld.so.conf.d/). + +* Thu Oct 28 2004 Tom Lane 4.1.7-2 +- rebuild in devel branch + +* Wed Oct 27 2004 Tom Lane 4.1.7-1 +- Update to MySQL 4.1.x. + +* Tue Oct 12 2004 Tom Lane 3.23.58-13 +- fix security issues CAN-2004-0835, CAN-2004-0836, CAN-2004-0837 + (bugs #135372, 135375, 135387) +- fix privilege escalation on GRANT ALL ON `Foo\_Bar` (CAN-2004-0957) + +* Wed Oct 06 2004 Tom Lane 3.23.58-12 +- fix multilib problem with mysqlbug and mysql_config +- adjust chkconfig priority per bug #128852 +- remove bogus quoting per bug #129409 (MySQL 4.0 has done likewise) +- add sleep to mysql.init restart(); may or may not fix bug #133993 + +* Tue Oct 05 2004 Tom Lane 3.23.58-11 +- fix low-priority security issues CAN-2004-0388, CAN-2004-0381, CAN-2004-0457 + (bugs #119442, 125991, 130347, 130348) +- fix bug with dropping databases under recent kernels (bug #124352) + +* Tue Jun 15 2004 Elliot Lee 3.23.58-10 +- rebuilt + +* Sat Apr 17 2004 Warren Togami 3.23.58-9 +- remove redundant INSTALL-SOURCE, manual.* +- compress manual.txt.bz2 +- BR time + +* Tue Mar 16 2004 Tom Lane 3.23.58-8 +- repair logfile attributes in %%files, per bug #102190 +- repair quoting problem in mysqlhotcopy, per bug #112693 +- repair missing flush in mysql_setpermission, per bug #113960 +- repair broken error message printf, per bug #115165 +- delete mysql user during uninstall, per bug #117017 +- rebuilt + +* Tue Mar 02 2004 Elliot Lee +- rebuilt + +* Tue Feb 24 2004 Tom Lane +- fix chown syntax in mysql.init +- rebuild + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Tue Nov 18 2003 Kim Ho 3.23.58-5 +- update mysql.init to use anonymous user (UNKNOWN_MYSQL_USER) for + pinging mysql server (#108779) + +* Mon Oct 27 2003 Kim Ho 3.23.58-4 +- update mysql.init to wait (max 10 seconds) for mysql server to + start (#58732) + +* Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 +- re-enable Berkeley DB support (#106832) +- re-enable ia64 testing + +* Fri Sep 19 2003 Patrick Macdonald 3.23.58-2 +- rebuilt + +* Mon Sep 15 2003 Patrick Macdonald 3.23.58-1 +- upgrade to 3.23.58 for security fix + +* Tue Aug 26 2003 Patrick Macdonald 3.23.57-2 +- rebuilt + +* Wed Jul 02 2003 Patrick Macdonald 3.23.57-1 +- revert to prior version of MySQL due to license incompatibilities + with packages that link against the client. The MySQL folks are + looking into the issue. + +* Wed Jun 18 2003 Patrick Macdonald 4.0.13-4 +- restrict test on ia64 (temporary) + +* Wed Jun 04 2003 Elliot Lee 4.0.13-3 +- rebuilt + +* Thu May 29 2003 Patrick Macdonald 4.0.13-2 +- fix filter-requires-mysql.sh with less restrictive for mysql-bench + +* Wed May 28 2003 Patrick Macdonald 4.0.13-1 +- update for MySQL 4.0 +- back-level shared libraries available in mysqlclient10 package + +* Fri May 09 2003 Patrick Macdonald 3.23.56-2 +- add sql-bench package (#90110) + +* Wed Mar 19 2003 Patrick Macdonald 3.23.56-1 +- upgrade to 3.23.56 for security fixes +- remove patch for double-free (included in 3.23.56) + +* Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 +- enable thread safe client +- add patch for double free fix + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Mon Jan 13 2003 Karsten Hopp 3.23.54a-9 +- disable checks on s390x + +* Sat Jan 4 2003 Jeff Johnson 3.23.54a-8 +- use internal dep generator. + +* Wed Jan 1 2003 Bill Nottingham 3.23.54a-7 +- fix mysql_config on hammer + +* Sun Dec 22 2002 Tim Powers 3.23.54a-6 +- don't use rpms internal dep generator + +* Tue Dec 17 2002 Elliot Lee 3.23.54a-5 +- Push it into the build system + +* Mon Dec 16 2002 Joe Orton 3.23.54a-4 +- upgrade to 3.23.54a for safe_mysqld fix + +* Thu Dec 12 2002 Joe Orton 3.23.54-3 +- upgrade to 3.23.54 for latest security fixes + +* Tue Nov 19 2002 Jakub Jelinek 3.23.52-5 +- Always include for errno +- Remove unpackaged files + +* Tue Nov 12 2002 Florian La Roche +- do not prereq userdel, not used at all + +* Mon Sep 9 2002 Trond Eivind Glomsrd 3.23.52-4 +- Use %%{_libdir} +- Add patch for x86-64 + +* Wed Sep 4 2002 Jakub Jelinek 3.23.52-3 +- rebuilt with gcc-3.2-7 + +* Thu Aug 29 2002 Trond Eivind Glomsrd 3.23.52-2 +- Add --enable-local-infile to configure - a new option + which doesn't default to the old behaviour (#72885) + +* Fri Aug 23 2002 Trond Eivind Glomsrd 3.23.52-1 +- 3.23.52. Fixes a minor security problem, various bugfixes. + +* Sat Aug 10 2002 Elliot Lee 3.23.51-5 +- rebuilt with gcc-3.2 (we hope) + +* Mon Jul 22 2002 Trond Eivind Glomsrd 3.23.51-4 +- rebuild + +* Thu Jul 18 2002 Trond Eivind Glomsrd 3.23.51-3 +- Fix #63543 and #63542 + +* Thu Jul 11 2002 Trond Eivind Glomsrd 3.23.51-2 +- Turn off bdb on PPC(#68591) +- Turn off the assembly optimizations, for safety. + +* Wed Jun 26 2002 Trond Eivind Glomsrd 3.23.51-1 +- Work around annoying auto* thinking this is a crosscompile +- 3.23.51 + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Mon Jun 10 2002 Trond Eivind Glomsrd 3.23.50-2 +- Add dependency on perl-DBI and perl-DBD-MySQL (#66349) + +* Thu May 30 2002 Trond Eivind Glomsrd 3.23.50-1 +- 3.23.50 + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon May 13 2002 Trond Eivind Glomsrd 3.23.49-4 +- Rebuild +- Don't set CXX to gcc, it doesn't work anymore +- Exclude Alpha + +* Mon Apr 8 2002 Trond Eivind Glomsrd 3.23.49-3 +- Add the various .cnf examples as doc files to mysql-server (#60349) +- Don't include manual.ps, it's just 200 bytes with a URL inside (#60349) +- Don't include random files in /usr/share/mysql (#60349) +- langify (#60349) + +* Thu Feb 21 2002 Trond Eivind Glomsrd 3.23.49-2 +- Rebuild + +* Sun Feb 17 2002 Trond Eivind Glomsrd 3.23.49-1 +- 3.23.49 + +* Thu Feb 14 2002 Trond Eivind Glomsrd 3.23.48-2 +- work around perl dependency bug. + +* Mon Feb 11 2002 Trond Eivind Glomsrd 3.23.48-1 +- 3.23.48 + +* Thu Jan 17 2002 Trond Eivind Glomsrd 3.23.47-4 +- Use kill, not mysqladmin, to flush logs and shut down. Thus, + an admin password can be set with no problems. +- Remove reload from init script + +* Wed Jan 16 2002 Trond Eivind Glomsrd 3.23.47-3 +- remove db3-devel from buildrequires, + MySQL has had its own bundled copy since the mid thirties + +* Sun Jan 6 2002 Trond Eivind Glomsrd 3.23.47-1 +- 3.23.47 +- Don't build for alpha, toolchain immature. + +* Mon Dec 3 2001 Trond Eivind Glomsrd 3.23.46-1 +- 3.23.46 +- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. + Recommended by mysql developers. + +* Sun Nov 25 2001 Trond Eivind Glomsrd 3.23.45-1 +- 3.23.45 + +* Wed Nov 14 2001 Trond Eivind Glomsrd 3.23.44-2 +- centralize definition of datadir in the initscript (#55873) + +* Fri Nov 2 2001 Trond Eivind Glomsrd 3.23.44-1 +- 3.23.44 + +* Thu Oct 4 2001 Trond Eivind Glomsrd 3.23.43-1 +- 3.23.43 + +* Mon Sep 10 2001 Trond Eivind Glomsrd 3.23.42-1 +- 3.23.42 +- reenable innodb + +* Tue Aug 14 2001 Trond Eivind Glomsrd 3.23.41-1 +- 3.23.41 bugfix release +- disable innodb, to avoid the broken updates +- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate + script (#51711) + +* Sat Jul 21 2001 Trond Eivind Glomsrd +- 3.23.40, bugfix release +- Add zlib-devel to buildrequires: + +* Fri Jul 20 2001 Trond Eivind Glomsrd +- BuildRequires-tweaking + +* Thu Jun 28 2001 Trond Eivind Glomsrd +- Reenable test, but don't run them for s390, s390x or ia64 +- Make /etc/my.cnf config(noplace). Same for /etc/logrotate.d/mysqld + +* Thu Jun 14 2001 Trond Eivind Glomsrd +- 3.23.29 +- enable innodb +- enable assembly again +- disable tests for now... + +* Tue May 15 2001 Trond Eivind Glomsrd +- 3.23.38 +- Don't use BDB on Alpha - no fast mutexes + +* Tue Apr 24 2001 Trond Eivind Glomsrd +- 3.23.37 +- Add _GNU_SOURCE to the compile flags + +* Wed Mar 28 2001 Trond Eivind Glomsrd +- Make it obsolete our 6.2 PowerTools packages +- 3.23.36 bugfix release - fixes some security issues + which didn't apply to our standard configuration +- Make "make test" part of the build process, except on IA64 + (it fails there) + +* Tue Mar 20 2001 Trond Eivind Glomsrd +- 3.23.35 bugfix release +- Don't delete the mysql user on uninstall + +* Tue Mar 13 2001 Trond Eivind Glomsrd +- 3.23.34a bugfix release + +* Wed Feb 7 2001 Trond Eivind Glomsrd +- added readline-devel to BuildRequires: + +* Tue Feb 6 2001 Trond Eivind Glomsrd +- small i18n-fixes to initscript (action needs $) + +* Tue Jan 30 2001 Trond Eivind Glomsrd +- make it shut down and rotate logs without using mysqladmin + (from #24909) + +* Mon Jan 29 2001 Trond Eivind Glomsrd +- conflict with "MySQL" + +* Tue Jan 23 2001 Trond Eivind Glomsrd +- improve gettextizing + +* Mon Jan 22 2001 Trond Eivind Glomsrd +- 3.23.32 +- fix logrotate script (#24589) + +* Wed Jan 17 2001 Trond Eivind Glomsrd +- gettextize +- move the items in Requires(post): to Requires: in preparation + for an errata for 7.0 when 3.23.31 is released +- 3.23.31 + +* Tue Jan 16 2001 Trond Eivind Glomsrd +- add the log file to the rpm database, and make it 0640 + (#24116) +- as above in logrotate script +- changes to the init sequence - put most of the data + in /etc/my.cnf instead of hardcoding in the init script +- use /var/run/mysqld/mysqld.pid instead of + /var/run/mysqld/pid +- use standard safe_mysqld +- shut down cleaner + +* Mon Jan 08 2001 Trond Eivind Glomsrd +- 3.23.30 +- do an explicit chmod on /var/lib/mysql in post, to avoid + any problems with broken permissons. There is a report + of rm not changing this on its own (#22989) + +* Mon Jan 01 2001 Trond Eivind Glomsrd +- bzipped source +- changed from 85 to 78 in startup, so it starts before + apache (which can use modules requiring mysql) + +* Wed Dec 27 2000 Trond Eivind Glomsrd +- 3.23.29a + +* Tue Dec 19 2000 Trond Eivind Glomsrd +- add requirement for new libstdc++, build for errata + +* Mon Dec 18 2000 Trond Eivind Glomsrd +- 3.23.29 + +* Mon Nov 27 2000 Trond Eivind Glomsrd +- 3.23.28 (gamma) +- remove old patches, as they are now upstreamed + +* Thu Nov 14 2000 Trond Eivind Glomsrd +- Add a requirement for a new glibc (#20735) +- build on IA64 + +* Wed Nov 1 2000 Trond Eivind Glomsrd +- disable more assembly + +* Wed Nov 1 2000 Jakub Jelinek +- fix mysql on SPARC (#20124) + +* Tue Oct 31 2000 Trond Eivind Glomsrd +- 3.23.27 + +* Wed Oct 25 2000 Trond Eivind Glomsrd +- add patch for fixing bogus aliasing in mysql from Jakub, + which should fix #18905 and #18620 + +* Mon Oct 23 2000 Trond Eivind Glomsrd +- check for negative niceness values, and negate it + if present (#17899) +- redefine optflags on IA32 FTTB + +* Wed Oct 18 2000 Trond Eivind Glomsrd +- 3.23.26, which among other fixes now uses mkstemp() + instead of tempnam(). +- revert changes made yesterday, the problem is now + isolated + +* Tue Oct 17 2000 Trond Eivind Glomsrd +- use the compat C++ compiler FTTB. Argh. +- add requirement of ncurses4 (see above) + +* Sun Oct 01 2000 Trond Eivind Glomsrd +- 3.23.25 +- fix shutdown problem (#17956) + +* Tue Sep 26 2000 Trond Eivind Glomsrd +- Don't try to include no-longer-existing PUBLIC file + as doc (#17532) + +* Thu Sep 12 2000 Trond Eivind Glomsrd +- rename config file to /etc/my.cnf, which is what + mysqld wants... doh. (#17432) +- include a changed safe_mysqld, so the pid file option + works. +- make mysql dir world readable to they can access the + mysql socket. (#17432) +- 3.23.24 + +* Wed Sep 06 2000 Trond Eivind Glomsrd +- 3.23.23 + +* Sun Aug 27 2000 Trond Eivind Glomsrd +- Add "|| :" to condrestart to avoid non-zero exit code + +* Thu Aug 24 2000 Trond Eivind Glomsrd +- it's mysql.com, not mysql.org and use correct path to + source (#16830) + +* Wed Aug 16 2000 Trond Eivind Glomsrd +- source file from /etc/rc.d, not /etc/rd.d. Doh. + +* Sun Aug 13 2000 Trond Eivind Glomsrd +- don't run ldconfig -n, it doesn't update ld.so.cache + (#16034) +- include some missing binaries +- use safe_mysqld to start the server (request from + mysql developers) + +* Sat Aug 05 2000 Bill Nottingham +- condrestart fixes + +* Mon Aug 01 2000 Trond Eivind Glomsrd +- 3.23.22. Disable the old patches, they're now in. + +* Thu Jul 27 2000 Trond Eivind Glomsrd +- bugfixes in the initscript +- move the .so link to the devel package + +* Wed Jul 19 2000 Trond Eivind Glomsrd +- rebuild due to glibc changes + +* Tue Jul 18 2000 Trond Eivind Glomsrd +- disable compiler patch +- don't include info directory file + +* Mon Jul 17 2000 Trond Eivind Glomsrd +- move back to /etc/rc.d/init.d + +* Fri Jul 14 2000 Trond Eivind Glomsrd +- more cleanups in initscript + +* Thu Jul 13 2000 Trond Eivind Glomsrd +- add a patch to work around compiler bug + (from monty@mysql.com) + +* Wed Jul 12 2000 Trond Eivind Glomsrd +- don't build the SQL daemon statically (glibc problems) +- fix the logrotate script - only flush log if mysql + is running +- change the reloading procedure +- remove icon - glint is obsolete a long time ago + +* Wed Jul 12 2000 Prospector +- automatic rebuild + +* Mon Jul 10 2000 Trond Eivind Glomsrd +- try the new compiler again +- build the SQL daemon statically +- add compile time support for complex charsets +- enable assembler +- more cleanups in initscript + +* Sun Jul 09 2000 Trond Eivind Glomsrd +- use old C++ compiler +- Exclusivearch x86 + +* Sat Jul 08 2000 Trond Eivind Glomsrd +- move .so files to devel package +- more cleanups +- exclude sparc for now + +* Wed Jul 05 2000 Trond Eivind Glomsrd +- 3.23.21 +- remove file from /etc/sysconfig +- Fix initscript a bit - initialization of databases doesn't + work yet +- specify the correct licenses +- include a /etc/my.conf (empty, FTTB) +- add conditional restart to spec file + +* Tue Jul 2 2000 Jakub Jelinek +- Rebuild with new C++ + +* Fri Jun 30 2000 Trond Eivind Glomsrd +- update to 3.23.20 +- use %%configure, %%makeinstall, %%{_tmppath}, %%{_mandir}, + %%{_infodir}, /etc/init.d +- remove the bench package +- change some of the descriptions a little bit +- fix the init script +- some compile fixes +- specify mysql user +- use mysql uid 27 (postgresql is 26) +- don't build on ia64 + +* Sat Feb 26 2000 Jos Vos +- Version 3.22.32 release XOS.1 for LinuX/OS 1.8.0 +- Upgrade from version 3.22.27 to 3.22.32. +- Do "make install" instead of "make install-strip", because "install -s" + now appears to fail on various scripts. Afterwards, strip manually. +- Reorganize subpackages, according to common Red Hat packages: the client + program and shared library become the base package and the server and + some accompanying files are now in a separate server package. The + server package implicitly requires the base package (shared library), + but we have added a manual require tag anyway (because of the shared + config file, and more). +- Rename the mysql-benchmark subpackage to mysql-bench. + +* Mon Jan 31 2000 Jos Vos +- Version 3.22.27 release XOS.2 for LinuX/OS 1.7.1 +- Add post(un)install scripts for updating ld.so.conf (client subpackage). + +* Sun Nov 21 1999 Jos Vos +- Version 3.22.27 release XOS.1 for LinuX/OS 1.7.0 +- Initial version. +- Some ideas borrowed from Red Hat Powertools 6.1, although this spec + file is a full rewrite from scratch. 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/generate-tarball.sh b/generate-tarball.sh new file mode 100755 index 0000000..2ff4bff --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,15 @@ +#!/bin/sh + +VERSION=$1 + +rm -rf mysql-$VERSION + +tar xfz mysql-$VERSION.tar.gz || exit 1 + +rm mysql-$VERSION/Docs/mysql.info + +tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 + +rm -rf mysql-$VERSION + +exit 0 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/my.cnf b/my.cnf new file mode 100644 index 0000000..1df1f70 --- /dev/null +++ b/my.cnf @@ -0,0 +1,19 @@ +[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 according to the +# instructions in http://fedoraproject.org/wiki/Systemd + +[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/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..9e5d3e4 --- /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 "/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 + 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..bd950ed 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +382ab22fd33ec4fb65ecd61d92b61736 mysql-5.5.30-nodocs.tar.gz From 9c333e7823ef94dff10eeffbe8e894ea6f9babe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 22 Mar 2013 15:26:15 +0100 Subject: [PATCH 003/274] run test suite --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0877f06..a5e7cf1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -12,7 +12,7 @@ URL: http://www.mysql.com License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from From 6fadff01bf3074e6d92090ffba42a42bc89e85b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 19 Apr 2013 14:06:13 +0200 Subject: [PATCH 004/274] Update to MySQL 5.5.31 --- .gitignore | 1 + community-mysql-plugin-test.patch | 24 ++++++++++++------------ community-mysql.spec | 8 ++++++-- sources | 2 +- 4 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 84390da..ee32730 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /mysql-5.5.30-nodocs.tar.gz +/mysql-5.5.31-nodocs.tar.gz diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch index 8ffb46b..a467d3c 100644 --- a/community-mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -6,15 +6,15 @@ read-only-to-us plugin directory. rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 -diff -up mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt ---- mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt.plugin 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/mysql_plugin-master.opt 2012-03-14 16:54:19.060951822 +0100 +diff -up mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt +--- mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt 2013-04-19 13:38:23.761741532 +0200 @@ -1 +1 @@ ---plugin-dir=$DAEMONEXAMPLE_DIR +--plugin-dir=$MYSQLTEST_VARDIR/plugin -diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-test/t/mysql_plugin.test ---- mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin 2012-01-31 12:28:15.000000000 +0100 -+++ mysql-5.5.21/mysql-test/t/mysql_plugin.test 2012-03-14 17:11:40.769295981 +0100 +diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test/t/mysql_plugin.test +--- mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-19 13:38:25.606742145 +0200 @@ -25,8 +25,10 @@ # Add the datadir, basedir, plugin_dir to the bootstrap command let $MYSQLD_DATADIR= `select @@datadir`; @@ -51,10 +51,10 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys +--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--mkdir $MYSQLD_TMP_BASEDIR/share/mysql +--mkdir $PLUGIN_DIR +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys +--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so +--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini + @@ -70,7 +70,7 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t --echo # --echo # Ensure the plugin isn't loaded. -@@ -202,7 +209,7 @@ EOF +@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like # we must copy the example daemon to a new location renaming it. let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; @@ -79,8 +79,8 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t --copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini # Now reload it and see that it is a different name. -@@ -395,8 +402,11 @@ EOF - --remove_file $expect_file +@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi + --remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect # Cleanup the share folder in the binary path. ---remove_file $MYSQLD_BASEDIR/share/errmsg.sys @@ -90,7 +90,7 @@ diff -up mysql-5.5.21/mysql-test/t/mysql_plugin.test.plugin mysql-5.5.21/mysql-t +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR +--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share/mysql +--rmdir $MYSQLD_TMP_BASEDIR/share --enable_abort_on_error diff --git a/community-mysql.spec b/community-mysql.spec index a5e7cf1..6b14c33 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql -Version: 5.5.30 -Release: 5%{?dist} +Version: 5.5.31 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -696,6 +696,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 19 2013 Honza Horak 5.5.31-1 +- Update to MySQL 5.5.31, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-31.html + * Wed Mar 20 2013 Honza Horak 5.5.30-5 - Renaming package MySQL to community-mysql to handle issues introduced by case-insensitive operations of yum and for proper diff --git a/sources b/sources index bd950ed..c09c60e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -382ab22fd33ec4fb65ecd61d92b61736 mysql-5.5.30-nodocs.tar.gz +2dd78a69ceaaf40fcbf985add94c4a2b mysql-5.5.31-nodocs.tar.gz From e80059ea66d25d461fdc4d687bdead4f7720cb0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 22 Apr 2013 15:58:52 +0200 Subject: [PATCH 005/274] fix paths in -plugin-test patch --- community-mysql-plugin-test.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch index a467d3c..5fdce09 100644 --- a/community-mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -51,10 +51,10 @@ diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ---copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys +--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/mysql ++--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql +--mkdir $PLUGIN_DIR +--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/mysql/errmsg.sys ++--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys +--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so +--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini + @@ -89,8 +89,8 @@ diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test +--remove_file $PLUGIN_DIR/daemon_example.ini +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR -+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/mysql -+--rmdir $MYSQLD_TMP_BASEDIR/share ++--remove_file $MYSQLD_TMP_BASEDIR/community-share/errmsg.sys ++--rmdir $MYSQLD_TMP_BASEDIR/community-share/mysql ++--rmdir $MYSQLD_TMP_BASEDIR/community-share --enable_abort_on_error From eab6baa98b9f98a11396fde3c9b4d87db18c42e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 22 Apr 2013 17:13:01 +0200 Subject: [PATCH 006/274] Build with _hardened_build --- community-mysql.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6b14c33..10c62f5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -14,6 +14,9 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} +# Build with -fPIE and -z now +%global _hardened_build 1 + # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ @@ -696,6 +699,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Apr 22 2013 Honza Horak 5.5.31-2 +- Build with _hardened_build + * Fri Apr 19 2013 Honza Horak 5.5.31-1 - Update to MySQL 5.5.31, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-31.html From 1a2ec63b46b209607c2b76a0ca5b826e654b5968 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 24 Apr 2013 20:23:23 +0200 Subject: [PATCH 007/274] Fix some paths related to test suite --- community-mysql-sharedir.patch | 38 ++++++++++++++++++++++++++++++++++ community-mysql.spec | 3 +++ 2 files changed, 41 insertions(+) create mode 100644 community-mysql-sharedir.patch diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch new file mode 100644 index 0000000..0311bfc --- /dev/null +++ b/community-mysql-sharedir.patch @@ -0,0 +1,38 @@ +diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm +--- mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 2013-04-24 20:15:14.085623163 +0200 ++++ mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm 2013-04-24 20:15:37.456630939 +0200 +@@ -36,7 +36,7 @@ my @pre_rules= + ); + + +-my @share_locations= ("share/mysql", "sql/share", "share"); ++my @share_locations= ("share/community-mysql", "sql/share", "share"); + + + sub get_basedir { +diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/mysql-test-run.pl +--- mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysql-test/mysql-test-run.pl 2013-04-24 20:18:28.538687866 +0200 +@@ -1238,11 +1238,11 @@ sub command_line_setup { + } + + # Look for language files and charsetsdir, use same share +- $path_language= mtr_path_exists("$bindir/share/mysql", ++ $path_language= mtr_path_exists("$bindir/share/community-mysql", + "$bindir/sql/share", + "$bindir/share"); + my $path_share= $path_language; +- $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets", ++ $path_charsetsdir = mtr_path_exists("$basedir/share/community-mysql/charsets", + "$basedir/sql/share/charsets", + "$basedir/share/charsets"); + +@@ -3324,7 +3324,7 @@ sub mysql_install_db { + } + + my $path_sql= my_find_file($install_basedir, +- ["mysql", "sql/share", "share/mysql", ++ ["mysql", "sql/share", "share/community-mysql", + "share", "scripts"], + "mysql_system_tables.sql", + NOT_REQUIRED); diff --git a/community-mysql.spec b/community-mysql.spec index 10c62f5..184466b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -61,6 +61,7 @@ Patch19: community-mysql-file-contents.patch Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch +Patch23: community-mysql-sharedir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -244,6 +245,7 @@ the MySQL sources. %patch20 -p1 %patch21 -p1 %patch22 -p1 +%patch23 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -701,6 +703,7 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %changelog * Mon Apr 22 2013 Honza Horak 5.5.31-2 - Build with _hardened_build +- Fix some paths related to test suite * Fri Apr 19 2013 Honza Horak 5.5.31-1 - Update to MySQL 5.5.31, for various fixes described at From 04d6ad3494bfe944200d4d11388c9255a5291811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 25 Apr 2013 09:05:02 +0200 Subject: [PATCH 008/274] Add BR for perl(Env) needed by test rpl_manual_change_index_file --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 184466b..221e549 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -69,7 +69,7 @@ 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(Socket), perl(Time::HiRes), perl(Env) Requires: grep, fileutils, bash Requires: %{name}-common%{?_isa} = %{version}-%{release} @@ -703,7 +703,7 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %changelog * Mon Apr 22 2013 Honza Horak 5.5.31-2 - Build with _hardened_build -- Fix some paths related to test suite +- Fix some paths and require perl(Env), which is needed by tests * Fri Apr 19 2013 Honza Horak 5.5.31-1 - Update to MySQL 5.5.31, for various fixes described at From bd951ae9c8dc47f677b5c3f27356e796949146b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 25 Apr 2013 11:14:03 +0200 Subject: [PATCH 009/274] Fix paths in -plugin-test patch --- community-mysql-plugin-test.patch | 6 +++--- community-mysql.spec | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch index 5fdce09..6d6093d 100644 --- a/community-mysql-plugin-test.patch +++ b/community-mysql-plugin-test.patch @@ -89,8 +89,8 @@ diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test +--remove_file $PLUGIN_DIR/daemon_example.ini +--remove_file $PLUGIN_DIR/libdaemon_example.so +--rmdir $PLUGIN_DIR -+--remove_file $MYSQLD_TMP_BASEDIR/community-share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/community-share/mysql -+--rmdir $MYSQLD_TMP_BASEDIR/community-share ++--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys ++--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql ++--rmdir $MYSQLD_TMP_BASEDIR/share --enable_abort_on_error diff --git a/community-mysql.spec b/community-mysql.spec index 221e549..ba5103d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -701,6 +701,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Apr 25 2013 Honza Horak 5.5.31-3 +- Fix paths in -plugin-test patch + * Mon Apr 22 2013 Honza Horak 5.5.31-2 - Build with _hardened_build - Fix some paths and require perl(Env), which is needed by tests From 654bf004ca3308717c1a7e209e7a259ea1de548c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 25 Apr 2013 18:30:48 +0200 Subject: [PATCH 010/274] Fix building with relro and PIE --- community-mysql.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ba5103d..c05c10b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -14,9 +14,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Regression tests take a long time, you can skip 'em with this %{!?runselftest:%global runselftest 1} -# Build with -fPIE and -z now -%global _hardened_build 1 - # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ @@ -285,6 +282,9 @@ 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. @@ -311,7 +311,8 @@ cmake . -DBUILD_CONFIG=mysql_release \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_READLINE=ON \ -DWITH_SSL=system \ - -DWITH_ZLIB=system + -DWITH_ZLIB=system \ + -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" make %{?_smp_mflags} VERBOSE=1 @@ -701,6 +702,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 26 2013 Honza Horak 5.5.31-4 +- Fix building with relro and PIE + * Thu Apr 25 2013 Honza Horak 5.5.31-3 - Fix paths in -plugin-test patch From de34d33333828e681325125d1e83bb4c9f516206 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Apr 2013 21:06:11 +0200 Subject: [PATCH 011/274] Remove mysql provides from devel sub-packages to not build against community-mysql if mysql-devel is specified --- community-mysql.spec | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index c05c10b..1c1021c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -155,8 +155,6 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: openssl-devel%{?_isa} Conflicts: mariadb-devel -Provides: mysql-devel = %{version}-%{release} -Provides: mysql-devel%{?_isa} = %{version}-%{release} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -182,8 +180,6 @@ Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} Conflicts: mariadb-embedded-devel -Provides: mysql-embedded-devel = %{version}-%{release} -Provides: mysql-embedded-devel%{?_isa} = %{version}-%{release} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -702,6 +698,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Apr 30 2013 Honza Horak 5.5.31-5 +- Remove mysql provides from devel sub-packages to not build against + community-mysql if mysql-devel is specified + * Fri Apr 26 2013 Honza Horak 5.5.31-4 - Fix building with relro and PIE From 8652d15a409ce936667767029328cd8ee7c92bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Stan=C4=9Bk?= Date: Wed, 29 May 2013 12:35:28 +0200 Subject: [PATCH 012/274] Added missing command-line options to man-pages (#948930) --- community-mysql-man-pages.patch | 1013 +++++++++++++++++++++++++++++++ community-mysql.spec | 7 +- 2 files changed, 1019 insertions(+), 1 deletion(-) create mode 100644 community-mysql-man-pages.patch diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch new file mode 100644 index 0000000..fbed073 --- /dev/null +++ b/community-mysql-man-pages.patch @@ -0,0 +1,1013 @@ +# Amalgamation of patches to various mysql man pages + +# ===== mysqladmin manual page ===== + +diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 +--- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 ++++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 +@@ -689,6 +689,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, +@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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: enable-cleartext-plugin option + .\" enable-cleartext-plugin option: mysqladmin + \fB\-\-enable\-cleartext\-plugin\fR +@@ -861,6 +907,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, +@@ -944,6 +1005,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 +@@ -973,6 +1049,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 + .\} + +# ===== mysqlbinlog manual page ===== + +diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 +--- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 ++++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 +@@ -599,6 +599,7 @@ privilege\&. + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -708,6 +709,22 @@ entries in the log\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.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 + .\} + +# ===== mysqlconfig manual page ===== + +diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 +--- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 ++++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 +@@ -176,6 +176,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 + +# ===== mysqldump manual page ===== + +diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 +--- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 ++++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 +@@ -611,7 +611,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 +@@ -738,6 +739,38 @@ latin1\&. + .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 +@@ -1400,6 +1433,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 +@@ -1500,6 +1563,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, +@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysqlcheck manual page ===== + +diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 +--- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 ++++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 +@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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, +@@ -622,6 +654,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, +@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysqlimport manual page ===== + +diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 +--- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 ++++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 +@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 + .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 +@@ -449,6 +481,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, +@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysql manual page ===== + +diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 +--- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 ++++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 +@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -311,6 +312,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 time for connection timeout in seconds\&. ++.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, +@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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 +@@ -623,6 +670,36 @@ 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 ++Specify the maximum packet length to send to or recieve form server\&. ++.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\&. ++.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, +@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++.\" 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\&. ++.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 +@@ -682,6 +774,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, +@@ -951,6 +1058,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 +@@ -1114,6 +1236,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\&. ++.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 +@@ -1166,6 +1318,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, +@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR + .sp + Options that begin with +-\fB\-\-ssl\fR ++\fB\-\-ssl\fR, + specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See + Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. + .RE +@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR ++shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR + + + +@@ -2963,16 +3130,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 + +# ===== mysqlshow manual page ===== + +diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 +--- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 ++++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 +@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I + .\} + .\" 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\ \&10.5, \(lqCharacter Set Configuration\(rq\&. +@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 + .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, +@@ -339,6 +372,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, +@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysqlslap manual page ===== + +diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 +--- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 ++++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 +@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 + .el \{\ + .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 +@@ -643,6 +675,37 @@ The number of times to run the tests\&. + .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, +@@ -821,6 +884,22 @@ The file or string containing the statem + .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/community-mysql.spec b/community-mysql.spec index 1c1021c..19aacfe 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -59,6 +59,7 @@ Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch +Patch24: community-mysql-man-pages.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -239,6 +240,7 @@ the MySQL sources. %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -698,6 +700,9 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed May 29 2013 Jan Stanek 5.5.31-6 +- Added missing command-line options to man-pages (#948930) + * Tue Apr 30 2013 Honza Horak 5.5.31-5 - Remove mysql provides from devel sub-packages to not build against community-mysql if mysql-devel is specified From 4e46615aa5577a4706e6206f2ace706fba256241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 16:07:28 +0200 Subject: [PATCH 013/274] Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 --- community-mysql-tmpdir.patch | 88 ++++++++++++++++++++++++++++++++++++ community-mysql.spec | 7 +++ 2 files changed, 95 insertions(+) create mode 100644 community-mysql-tmpdir.patch diff --git a/community-mysql-tmpdir.patch b/community-mysql-tmpdir.patch new file mode 100644 index 0000000..2dc7293 --- /dev/null +++ b/community-mysql-tmpdir.patch @@ -0,0 +1,88 @@ +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 mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt +--- mysql-5.5.31/CMakeLists.txt.tmpdir 2013-06-03 15:14:51.149345233 +0200 ++++ mysql-5.5.31/CMakeLists.txt 2013-06-03 15:29:23.263489056 +0200 +@@ -253,6 +253,10 @@ IF(SYSCONFDIR) + SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") + ENDIF() + ++IF(TMPDIR) ++ SET(DEFAULT_TMPDIR "${TMPDIR}") ++ENDIF() ++ + + # Run platform tests + INCLUDE(configure.cmake) +diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake +--- mysql-5.5.31/config.h.cmake.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/config.h.cmake 2013-06-03 15:14:51.149345233 +0200 +@@ -600,6 +600,7 @@ + #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 mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.h +--- mysql-5.5.31/include/my_global.h.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/include/my_global.h 2013-06-03 15:14:51.150345232 +0200 +@@ -1501,4 +1501,11 @@ static inline double rint(double x) + + #endif /* EMBEDDED_LIBRARY */ + ++/* ++ Define default tmpdir if not already set. ++*/ ++#if !defined(DEFAULT_TMPDIR) ++#define DEFAULT_TMPDIR P_tmpdir ++#endif ++ + #endif /* my_global_h */ +diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql.cc +--- mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/libmysqld/lib_sql.cc 2013-06-03 15:14:51.150345232 +0200 +@@ -558,7 +558,7 @@ int init_embedded_server(int argc, char + 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 mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c +--- mysql-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysys/mf_tempdir.c 2013-06-03 15:14:51.150345232 +0200 +@@ -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 mysql-5.5.31/mysys/mf_tempfile.c.tmpdir mysql-5.5.31/mysys/mf_tempfile.c +--- mysql-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/mysys/mf_tempfile.c 2013-06-03 15:14:51.150345232 +0200 +@@ -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/community-mysql.spec b/community-mysql.spec index 19aacfe..b0581ba 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -60,6 +60,7 @@ Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch Patch24: community-mysql-man-pages.patch +Patch25: community-mysql-tmpdir.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -241,6 +242,7 @@ the MySQL sources. %patch22 -p1 %patch23 -p1 %patch24 -p1 +%patch25 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -310,6 +312,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 @@ -700,6 +703,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jun 3 2013 Honza Horak 5.5.31-7 +- Use /var/tmp as default tmpdir to prevent potential issues + Resolves: #905635 + * Wed May 29 2013 Jan Stanek 5.5.31-6 - Added missing command-line options to man-pages (#948930) From 7d2063851f1a0dedde85506cb01ddf032a5305f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 16:10:58 +0200 Subject: [PATCH 014/274] Fix test suite requirements --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index b0581ba..b37f6dd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -212,6 +212,7 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} +Requires: perl(Socket), perl(Time::HiRes), perl(Env) %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -706,6 +707,7 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my * Mon Jun 3 2013 Honza Horak 5.5.31-7 - Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 +- Fix test suite requirements * Wed May 29 2013 Jan Stanek 5.5.31-6 - Added missing command-line options to man-pages (#948930) From 80c5bbde954f2af1be78abe8de6156328b73287c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 17:30:42 +0200 Subject: [PATCH 015/274] Fix for CVE-2013-1861 backported from MariaDB Resolves: #921836 --- community-mysql-cve-2013-1861.patch | 170 ++++++++++++++++++++++++++++ community-mysql.spec | 4 + 2 files changed, 174 insertions(+) create mode 100644 community-mysql-cve-2013-1861.patch diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch new file mode 100644 index 0000000..e8a27cf --- /dev/null +++ b/community-mysql-cve-2013-1861.patch @@ -0,0 +1,170 @@ +diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result +--- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200 ++++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200 +@@ -1113,4 +1113,19 @@ SELECT 1 FROM g1 WHERE a >= ANY + (SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ; + 1 + DROP TABLE g1; ++# ++# TODO-424 geometry query crashes server ++# ++select astext(0x0100000000030000000100000000000010); ++astext(0x0100000000030000000100000000000010) ++NULL ++select area(0x0100000000030000000100000000000010); ++area(0x0100000000030000000100000000000010) ++NULL ++select astext(exteriorring(0x0100000000030000000100000000000010)); ++astext(exteriorring(0x0100000000030000000100000000000010)) ++NULL ++select astext(centroid(0x0100000000030000000100000000000010)); ++astext(centroid(0x0100000000030000000100000000000010)) ++NULL + End of 5.5 tests +diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.test +--- mysql-5.5.31/mysql-test/t/gis.test.cve 2013-06-03 16:32:33.733025512 +0200 ++++ mysql-5.5.31/mysql-test/t/gis.test 2013-06-03 16:34:38.942560749 +0200 +@@ -868,4 +868,11 @@ SELECT 1 FROM g1 WHERE a >= ANY + + DROP TABLE g1; + ++--echo # ++--echo # TODO-424 geometry query crashes server ++--echo # ++select astext(0x0100000000030000000100000000000010); ++select area(0x0100000000030000000100000000000010); ++select astext(exteriorring(0x0100000000030000000100000000000010)); ++select astext(centroid(0x0100000000030000000100000000000010)); + --echo End of 5.5 tests +diff -up mysql-5.5.31/sql/spatial.cc.cve mysql-5.5.31/sql/spatial.cc +--- mysql-5.5.31/sql/spatial.cc.cve 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/sql/spatial.cc 2013-06-03 16:45:52.790665557 +0200 +@@ -538,7 +538,7 @@ bool Gis_line_string::get_data_as_wkt(St + n_points= uint4korr(data); + data += 4; + +- if (n_points < 1 || ++ if (n_points < 1 || n_points > max_n_points || + no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) || + txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points)) + return 1; +@@ -576,7 +576,8 @@ int Gis_line_string::geom_length(double + return 1; + n_points= uint4korr(data); + data+= 4; +- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) ++ if (n_points < 1 || n_points > max_n_points || ++ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) + return 1; + + get_point(&prev_x, &prev_y, data); +@@ -610,7 +611,7 @@ int Gis_line_string::is_closed(int *clos + return 0; + } + data+= 4; +- if (n_points == 0 || ++ if (n_points == 0 || n_points > max_n_points || + no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) + return 1; + +@@ -780,7 +781,7 @@ bool Gis_polygon::get_data_as_wkt(String + return 1; + n_points= uint4korr(data); + data+= 4; +- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || ++ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || + txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) + return 1; + txt->qs_append('('); +@@ -834,7 +835,7 @@ int Gis_polygon::area(double *ar, const + if (no_data(data, 4)) + return 1; + n_points= uint4korr(data); +- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) ++ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) + return 1; + get_point(&prev_x, &prev_y, data+4); + data+= (4+SIZEOF_STORED_DOUBLE*2); +@@ -870,7 +871,8 @@ int Gis_polygon::exterior_ring(String *r + n_points= uint4korr(data); + data+= 4; + length= n_points * POINT_DATA_SIZE; +- if (no_data(data, length) || result->reserve(1+4+4+ length)) ++ if (n_points > max_n_points || ++ no_data(data, length) || result->reserve(1+4+4+ length)) + return 1; + + result->q_append((char) wkb_ndr); +@@ -916,7 +918,8 @@ int Gis_polygon::interior_ring_n(uint32 + n_points= uint4korr(data); + points_size= n_points * POINT_DATA_SIZE; + data+= 4; +- if (no_data(data, points_size) || result->reserve(1+4+4+ points_size)) ++ if (n_points > max_n_points || ++ no_data(data, points_size) || result->reserve(1+4+4+ points_size)) + return 1; + + result->q_append((char) wkb_ndr); +@@ -955,7 +958,7 @@ int Gis_polygon::centroid_xy(double *x, + return 1; + org_n_points= n_points= uint4korr(data); + data+= 4; +- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) ++ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) + return 1; + get_point(&prev_x, &prev_y, data); + data+= (SIZEOF_STORED_DOUBLE*2); +@@ -1242,7 +1245,7 @@ bool Gis_multi_line_string::get_data_as_ + return 1; + n_points= uint4korr(data + WKB_HEADER_SIZE); + data+= WKB_HEADER_SIZE + 4; +- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || ++ if (n_points > max_n_points || no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || + txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) + return 1; + txt->qs_append('('); +@@ -1503,7 +1506,8 @@ bool Gis_multi_polygon::get_data_as_wkt( + return 1; + uint32 n_points= uint4korr(data); + data+= 4; +- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || ++ if (n_points > max_n_points || ++ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || + txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points, + 512)) + return 1; +@@ -1586,6 +1590,8 @@ int Gis_multi_polygon::geometry_n(uint32 + if (no_data(data, 4)) + return 1; + n_points= uint4korr(data); ++ if (n_points > max_n_points) ++ return 1; + data+= 4 + POINT_DATA_SIZE * n_points; + } + } while (--num); +diff -up mysql-5.5.31/sql/spatial.h.cve mysql-5.5.31/sql/spatial.h +--- mysql-5.5.31/sql/spatial.h.cve 2013-03-25 14:14:58.000000000 +0100 ++++ mysql-5.5.31/sql/spatial.h 2013-06-03 16:32:33.737025500 +0200 +@@ -200,6 +200,11 @@ struct Geometry_buffer; + class Geometry + { + public: ++ // Maximum number of points in feature that can fit into String ++ static const uint32 max_n_points= ++ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / ++ POINT_DATA_SIZE; ++ + Geometry() {} /* Remove gcc warning */ + virtual ~Geometry() {} /* Remove gcc warning */ + static void *operator new(size_t size, void *buffer) +@@ -383,10 +388,6 @@ public: + + class Gis_line_string: public Geometry + { +- // Maximum number of points in LineString that can fit into String +- static const uint32 max_n_points= +- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / +- POINT_DATA_SIZE; + public: + Gis_line_string() {} /* Remove gcc warning */ + virtual ~Gis_line_string() {} /* Remove gcc warning */ diff --git a/community-mysql.spec b/community-mysql.spec index b37f6dd..176c6df 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -61,6 +61,7 @@ Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch +Patch26: community-mysql-cve-2013-1861.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -244,6 +245,7 @@ the MySQL sources. %patch23 -p1 %patch24 -p1 %patch25 -p1 +%patch26 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -708,6 +710,8 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my - Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 - Fix test suite requirements +- Fix for CVE-2013-1861 backported from MariaDB + Resolves: #921836 * Wed May 29 2013 Jan Stanek 5.5.31-6 - Added missing command-line options to man-pages (#948930) From 99129b8e68cc1f00c6753b173a7bc15a0761645c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 3 Jun 2013 17:50:14 +0200 Subject: [PATCH 016/274] Release bump --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 176c6df..cc66d61 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.31 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases From 906d64a4819d1a7cdc6d0e641ab772af35ddd7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 7 Jun 2013 13:26:53 +0200 Subject: [PATCH 017/274] Update to MySQL 5.5.32 --- .gitignore | 1 + community-mysql-cve-2013-1861.patch | 137 +--------------------------- community-mysql.spec | 19 ++-- sources | 2 +- 4 files changed, 20 insertions(+), 139 deletions(-) diff --git a/.gitignore b/.gitignore index ee32730..819fd32 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /mysql-5.5.30-nodocs.tar.gz /mysql-5.5.31-nodocs.tar.gz +/mysql-5.5.32-nodocs.tar.gz diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch index e8a27cf..75e35c3 100644 --- a/community-mysql-cve-2013-1861.patch +++ b/community-mysql-cve-2013-1861.patch @@ -1,3 +1,8 @@ +It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't +ship a test case for that. This patch only includes the test case ported +from MariaDB fix: +https://mariadb.atlassian.net/browse/MDEV-4252 + diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result --- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200 +++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200 @@ -36,135 +41,3 @@ diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.te +select astext(exteriorring(0x0100000000030000000100000000000010)); +select astext(centroid(0x0100000000030000000100000000000010)); --echo End of 5.5 tests -diff -up mysql-5.5.31/sql/spatial.cc.cve mysql-5.5.31/sql/spatial.cc ---- mysql-5.5.31/sql/spatial.cc.cve 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/sql/spatial.cc 2013-06-03 16:45:52.790665557 +0200 -@@ -538,7 +538,7 @@ bool Gis_line_string::get_data_as_wkt(St - n_points= uint4korr(data); - data += 4; - -- if (n_points < 1 || -+ if (n_points < 1 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points) || - txt->reserve(((MAX_DIGITS_IN_DOUBLE + 1)*2 + 1) * n_points)) - return 1; -@@ -576,7 +576,8 @@ int Gis_line_string::geom_length(double - return 1; - n_points= uint4korr(data); - data+= 4; -- if (n_points < 1 || no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) -+ if (n_points < 1 || n_points > max_n_points || -+ no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - - get_point(&prev_x, &prev_y, data); -@@ -610,7 +611,7 @@ int Gis_line_string::is_closed(int *clos - return 0; - } - data+= 4; -- if (n_points == 0 || -+ if (n_points == 0 || n_points > max_n_points || - no_data(data, SIZEOF_STORED_DOUBLE * 2 * n_points)) - return 1; - -@@ -780,7 +781,7 @@ bool Gis_polygon::get_data_as_wkt(String - return 1; - n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || -+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -834,7 +835,7 @@ int Gis_polygon::area(double *ar, const - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data+4); - data+= (4+SIZEOF_STORED_DOUBLE*2); -@@ -870,7 +871,8 @@ int Gis_polygon::exterior_ring(String *r - n_points= uint4korr(data); - data+= 4; - length= n_points * POINT_DATA_SIZE; -- if (no_data(data, length) || result->reserve(1+4+4+ length)) -+ if (n_points > max_n_points || -+ no_data(data, length) || result->reserve(1+4+4+ length)) - return 1; - - result->q_append((char) wkb_ndr); -@@ -916,7 +918,8 @@ int Gis_polygon::interior_ring_n(uint32 - n_points= uint4korr(data); - points_size= n_points * POINT_DATA_SIZE; - data+= 4; -- if (no_data(data, points_size) || result->reserve(1+4+4+ points_size)) -+ if (n_points > max_n_points || -+ no_data(data, points_size) || result->reserve(1+4+4+ points_size)) - return 1; - - result->q_append((char) wkb_ndr); -@@ -955,7 +958,7 @@ int Gis_polygon::centroid_xy(double *x, - return 1; - org_n_points= n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) -+ if (n_points > max_n_points || no_data(data, (SIZEOF_STORED_DOUBLE*2) * n_points)) - return 1; - get_point(&prev_x, &prev_y, data); - data+= (SIZEOF_STORED_DOUBLE*2); -@@ -1242,7 +1245,7 @@ bool Gis_multi_line_string::get_data_as_ - return 1; - n_points= uint4korr(data + WKB_HEADER_SIZE); - data+= WKB_HEADER_SIZE + 4; -- if (no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || -+ if (n_points > max_n_points || no_data(data, n_points * (SIZEOF_STORED_DOUBLE*2)) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points)) - return 1; - txt->qs_append('('); -@@ -1503,7 +1506,8 @@ bool Gis_multi_polygon::get_data_as_wkt( - return 1; - uint32 n_points= uint4korr(data); - data+= 4; -- if (no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || -+ if (n_points > max_n_points || -+ no_data(data, (SIZEOF_STORED_DOUBLE * 2) * n_points) || - txt->reserve(2 + ((MAX_DIGITS_IN_DOUBLE + 1) * 2 + 1) * n_points, - 512)) - return 1; -@@ -1586,6 +1590,8 @@ int Gis_multi_polygon::geometry_n(uint32 - if (no_data(data, 4)) - return 1; - n_points= uint4korr(data); -+ if (n_points > max_n_points) -+ return 1; - data+= 4 + POINT_DATA_SIZE * n_points; - } - } while (--num); -diff -up mysql-5.5.31/sql/spatial.h.cve mysql-5.5.31/sql/spatial.h ---- mysql-5.5.31/sql/spatial.h.cve 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/sql/spatial.h 2013-06-03 16:32:33.737025500 +0200 -@@ -200,6 +200,11 @@ struct Geometry_buffer; - class Geometry - { - public: -+ // Maximum number of points in feature that can fit into String -+ static const uint32 max_n_points= -+ (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -+ POINT_DATA_SIZE; -+ - Geometry() {} /* Remove gcc warning */ - virtual ~Geometry() {} /* Remove gcc warning */ - static void *operator new(size_t size, void *buffer) -@@ -383,10 +388,6 @@ public: - - class Gis_line_string: public Geometry - { -- // Maximum number of points in LineString that can fit into String -- static const uint32 max_n_points= -- (uint32) (UINT_MAX32 - WKB_HEADER_SIZE - 4 /* n_points */) / -- POINT_DATA_SIZE; - public: - Gis_line_string() {} /* Remove gcc warning */ - virtual ~Gis_line_string() {} /* Remove gcc warning */ diff --git a/community-mysql.spec b/community-mysql.spec index cc66d61..f08367d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql -Version: 5.5.31 -Release: 7%{?dist} +Version: 5.5.32 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -491,6 +491,9 @@ 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 +# we don't care about scripts for solaris +rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-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 \ @@ -706,6 +709,10 @@ install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/my %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 7 2013 Honza Horak 5.5.32-1 +- Update to MySQL 5.5.32, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-32.html + * Mon Jun 3 2013 Honza Horak 5.5.31-7 - Use /var/tmp as default tmpdir to prevent potential issues Resolves: #905635 @@ -1806,7 +1813,7 @@ Resolves: #199368 - 3.23.28 (gamma) - remove old patches, as they are now upstreamed -* Thu Nov 14 2000 Trond Eivind Glomsrd +* Tue Nov 14 2000 Trond Eivind Glomsrd - Add a requirement for a new glibc (#20735) - build on IA64 @@ -1846,7 +1853,7 @@ Resolves: #199368 - Don't try to include no-longer-existing PUBLIC file as doc (#17532) -* Thu Sep 12 2000 Trond Eivind Glomsrd +* Tue Sep 12 2000 Trond Eivind Glomsrd - rename config file to /etc/my.cnf, which is what mysqld wants... doh. (#17432) - include a changed safe_mysqld, so the pid file option @@ -1878,7 +1885,7 @@ Resolves: #199368 * Sat Aug 05 2000 Bill Nottingham - condrestart fixes -* Mon Aug 01 2000 Trond Eivind Glomsrd +* Tue Aug 01 2000 Trond Eivind Glomsrd - 3.23.22. Disable the old patches, they're now in. * Thu Jul 27 2000 Trond Eivind Glomsrd @@ -1937,7 +1944,7 @@ Resolves: #199368 - include a /etc/my.conf (empty, FTTB) - add conditional restart to spec file -* Tue Jul 2 2000 Jakub Jelinek +* Sun Jul 2 2000 Jakub Jelinek - Rebuild with new C++ * Fri Jun 30 2000 Trond Eivind Glomsrd diff --git a/sources b/sources index c09c60e..a947c94 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2dd78a69ceaaf40fcbf985add94c4a2b mysql-5.5.31-nodocs.tar.gz +42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz From 9f8a8f3631775ee129d6ce9a37b6ac67cf736cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 08:32:55 +0200 Subject: [PATCH 018/274] Strip warning in rpl_deadlock_innodb --- community-mysql-innodbwarn.patch | 20 ++++++++++++++++++++ community-mysql.spec | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 community-mysql-innodbwarn.patch diff --git a/community-mysql-innodbwarn.patch b/community-mysql-innodbwarn.patch new file mode 100644 index 0000000..c513442 --- /dev/null +++ b/community-mysql-innodbwarn.patch @@ -0,0 +1,20 @@ +Test case rpl.rpl_daedlock_innodb fails when dropping tables because some +warnings are generated in the slave server. The test is working fine when +running alone, but fails when all tests are running, so it seems not to be +so bad thing to ignore that warnings. + +http://bugs.mysql.com/bug.php?id=69458 + +diff -up mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn mysql-5.5.32/mysql-test/include/mtr_warnings.sql +--- mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn 2013-06-13 16:45:27.723525133 +0200 ++++ mysql-5.5.32/mysql-test/include/mtr_warnings.sql 2013-06-13 16:46:24.879524133 +0200 +@@ -162,6 +162,9 @@ INSERT INTO global_suppressions VALUES + ("InnoDB: Error: in RENAME TABLE table `test`.`t1`"), + ("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"), + ++ /* rpl.rpl_deadlock_innodb fails when trying DROP tables */ ++ ("InnoDB: Error: table `mysqld.2`.`#sql.*` does not exist in the InnoDB internal"), ++ + /* + BUG#32080 - Excessive warnings on Solaris: setrlimit could not + change the size of core files diff --git a/community-mysql.spec b/community-mysql.spec index f08367d..63af6dd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,6 +62,7 @@ Patch23: community-mysql-sharedir.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch +Patch27: community-mysql-innodbwarn.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -246,6 +247,7 @@ the MySQL sources. %patch24 -p1 %patch25 -p1 %patch26 -p1 +%patch27 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt From d3b12fbafecfad1c93cb83653e6caf04a973143a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 10:49:15 +0200 Subject: [PATCH 019/274] Use man pages from 5.5.30, because their license do not allow us to ship them since 5.5.31 --- .gitignore | 1 + community-mysql-man-pages.patch | 1013 ------------------------------- community-mysql.spec | 18 +- generate-tarball.sh | 1 + sources | 1 + 5 files changed, 16 insertions(+), 1018 deletions(-) delete mode 100644 community-mysql-man-pages.patch diff --git a/.gitignore b/.gitignore index 819fd32..2245f8f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /mysql-5.5.30-nodocs.tar.gz /mysql-5.5.31-nodocs.tar.gz /mysql-5.5.32-nodocs.tar.gz +/mysql-man-gpl.tar.gz diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch deleted file mode 100644 index fbed073..0000000 --- a/community-mysql-man-pages.patch +++ /dev/null @@ -1,1013 +0,0 @@ -# Amalgamation of patches to various mysql man pages - -# ===== mysqladmin manual page ===== - -diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 ---- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 -+++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 -@@ -689,6 +689,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, -@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .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: enable-cleartext-plugin option - .\" enable-cleartext-plugin option: mysqladmin - \fB\-\-enable\-cleartext\-plugin\fR -@@ -861,6 +907,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, -@@ -944,6 +1005,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 -@@ -973,6 +1049,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 - .\} - -# ===== mysqlbinlog manual page ===== - -diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 ---- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 -+++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 -@@ -599,6 +599,7 @@ privilege\&. - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -708,6 +709,22 @@ entries in the log\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.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 - .\} - -# ===== mysqlconfig manual page ===== - -diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 ---- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 -+++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 -@@ -176,6 +176,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 - -# ===== mysqldump manual page ===== - -diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 ---- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 -+++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 -@@ -611,7 +611,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 -@@ -738,6 +739,38 @@ latin1\&. - .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 -@@ -1400,6 +1433,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 -@@ -1500,6 +1563,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, -@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co - .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 - .\} - -# ===== mysqlcheck manual page ===== - -diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 ---- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 -+++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 -@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi - .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, -@@ -622,6 +654,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, -@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co - .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 - .\} - -# ===== mysqlimport manual page ===== - -diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 ---- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 -+++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 -@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 - .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 -@@ -449,6 +481,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, -@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co - .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 - .\} - -# ===== mysql manual page ===== - -diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 ---- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 -+++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 -@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -311,6 +312,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 time for connection timeout in seconds\&. -+.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, -@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .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 -@@ -623,6 +670,36 @@ 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 -+Specify the maximum packet length to send to or recieve form server\&. -+.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\&. -+.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, -@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+.\" 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\&. -+.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 -@@ -682,6 +774,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, -@@ -951,6 +1058,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 -@@ -1114,6 +1236,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\&. -+.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 -@@ -1166,6 +1318,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, -@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, - \fB\-\-ssl*\fR - .sp - Options that begin with --\fB\-\-ssl\fR -+\fB\-\-ssl\fR, - specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. - .RE -@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac - .RS 4 - .\} - .nf --shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR -+shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR - - - -@@ -2963,16 +3130,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 - -# ===== mysqlshow manual page ===== - -diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 ---- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 -+++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 -@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I - .\} - .\" 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\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 - .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, -@@ -339,6 +372,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, -@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co - .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 - .\} - -# ===== mysqlslap manual page ===== - -diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 ---- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 -+++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 -@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 - .el \{\ - .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 -@@ -643,6 +675,37 @@ The number of times to run the tests\&. - .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, -@@ -821,6 +884,22 @@ The file or string containing the statem - .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/community-mysql.spec b/community-mysql.spec index 63af6dd..5e263c6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -18,11 +18,15 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ Source0: mysql-%{version}-nodocs.tar.gz -# The upstream tarball includes non-free documentation that we cannot ship. +# The upstream tarball includes non-free documentation and man pages that +# we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: # ./generate-tarball.sh $VERSION -Source1: generate-tarball.sh +# man pages were licensed under GPL until 5.5.30, so we use man pages from +# that version instead of files from current source tarball +Source1: mysql-man-gpl.tar.gz +Source2: generate-tarball.sh Source3: my.cnf Source5: my_config.h Source6: README.mysql-docs @@ -59,7 +63,6 @@ Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch -Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch @@ -224,6 +227,8 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} +tar -xvf %{SOURCE1} + %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -244,7 +249,6 @@ the MySQL sources. %patch21 -p1 %patch22 -p1 %patch23 -p1 -%patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 @@ -711,6 +715,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 14 2013 Honza Horak 5.5.32-2 +- Use man pages from 5.5.30, because their license do not + allow us to ship them since 5.5.31 + * Fri Jun 7 2013 Honza Horak 5.5.32-1 - Update to MySQL 5.5.32, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-32.html diff --git a/generate-tarball.sh b/generate-tarball.sh index 2ff4bff..d3e859b 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -7,6 +7,7 @@ rm -rf mysql-$VERSION tar xfz mysql-$VERSION.tar.gz || exit 1 rm mysql-$VERSION/Docs/mysql.info +rm mysql-$VERSION/man/* tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 diff --git a/sources b/sources index a947c94..707beb5 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz +5e9973ed0c74c3888620290c82514812 mysql-man-gpl.tar.gz From 850e75a90fe31f0ca3b90f25202938cdf278d143 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 14 Jun 2013 13:14:57 +0200 Subject: [PATCH 020/274] Uploaded correctly stripped sources --- community-mysql.spec | 4 ++-- sources | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5e263c6..267cb6b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -715,7 +715,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog -* Fri Jun 14 2013 Honza Horak 5.5.32-2 +* Fri Jun 14 2013 Honza Horak 5.5.32-3 - Use man pages from 5.5.30, because their license do not allow us to ship them since 5.5.31 diff --git a/sources b/sources index 707beb5..d3d560e 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -42a449d1864d9f98534335e830fbb74b mysql-5.5.32-nodocs.tar.gz +55b008d92abd01cd553021346a0da853 mysql-5.5.32-nodocs.tar.gz 5e9973ed0c74c3888620290c82514812 mysql-man-gpl.tar.gz From f3c10fca0da1dc9f37a918895684e216d5518771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 27 Jun 2013 16:16:19 +0200 Subject: [PATCH 021/274] Remove external man pages, upstream fixed man pages license --- community-mysql-man-pages.patch | 1013 +++++++++++++++++++++++++++++++ community-mysql.spec | 15 +- generate-tarball.sh | 1 - sources | 3 +- 4 files changed, 1021 insertions(+), 11 deletions(-) create mode 100644 community-mysql-man-pages.patch diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch new file mode 100644 index 0000000..fbed073 --- /dev/null +++ b/community-mysql-man-pages.patch @@ -0,0 +1,1013 @@ +# Amalgamation of patches to various mysql man pages + +# ===== mysqladmin manual page ===== + +diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 +--- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 ++++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 +@@ -689,6 +689,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, +@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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: enable-cleartext-plugin option + .\" enable-cleartext-plugin option: mysqladmin + \fB\-\-enable\-cleartext\-plugin\fR +@@ -861,6 +907,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, +@@ -944,6 +1005,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 +@@ -973,6 +1049,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 + .\} + +# ===== mysqlbinlog manual page ===== + +diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 +--- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 ++++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 +@@ -599,6 +599,7 @@ privilege\&. + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -708,6 +709,22 @@ entries in the log\&. + .RE + .sp + .RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.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 + .\} + +# ===== mysqlconfig manual page ===== + +diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 +--- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 ++++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 +@@ -176,6 +176,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 + +# ===== mysqldump manual page ===== + +diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 +--- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 ++++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 +@@ -611,7 +611,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 +@@ -738,6 +739,38 @@ latin1\&. + .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 +@@ -1400,6 +1433,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 +@@ -1500,6 +1563,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, +@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysqlcheck manual page ===== + +diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 +--- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 ++++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 +@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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, +@@ -622,6 +654,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, +@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysqlimport manual page ===== + +diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 +--- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 ++++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 +@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 + .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 +@@ -449,6 +481,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, +@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysql manual page ===== + +diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 +--- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 ++++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 +@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -311,6 +312,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 time for connection timeout in seconds\&. ++.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, +@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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 +@@ -623,6 +670,36 @@ 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 ++Specify the maximum packet length to send to or recieve form server\&. ++.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\&. ++.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, +@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++.\" 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\&. ++.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 +@@ -682,6 +774,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, +@@ -951,6 +1058,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 +@@ -1114,6 +1236,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\&. ++.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 +@@ -1166,6 +1318,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, +@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR + .sp + Options that begin with +-\fB\-\-ssl\fR ++\fB\-\-ssl\fR, + specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See + Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. + .RE +@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR ++shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR + + + +@@ -2963,16 +3130,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 + +# ===== mysqlshow manual page ===== + +diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 +--- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 ++++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 +@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I + .\} + .\" 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\ \&10.5, \(lqCharacter Set Configuration\(rq\&. +@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 + .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, +@@ -339,6 +372,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, +@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co + .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 + .\} + +# ===== mysqlslap manual page ===== + +diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 +--- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 ++++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 +@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 + .el \{\ + .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 +@@ -643,6 +675,37 @@ The number of times to run the tests\&. + .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, +@@ -821,6 +884,22 @@ The file or string containing the statem + .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/community-mysql.spec b/community-mysql.spec index 267cb6b..2bb0e3b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -18,14 +18,10 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ Source0: mysql-%{version}-nodocs.tar.gz -# The upstream tarball includes non-free documentation and man pages that -# we cannot ship. +# The upstream tarball includes non-free documentation that we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: # ./generate-tarball.sh $VERSION -# man pages were licensed under GPL until 5.5.30, so we use man pages from -# that version instead of files from current source tarball -Source1: mysql-man-gpl.tar.gz Source2: generate-tarball.sh Source3: my.cnf Source5: my_config.h @@ -63,6 +59,7 @@ Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-major.patch Patch23: community-mysql-sharedir.patch +Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch @@ -227,8 +224,6 @@ the MySQL sources. %prep %setup -q -n mysql-%{version} -tar -xvf %{SOURCE1} - %patch1 -p1 %patch2 -p1 %patch3 -p1 @@ -249,6 +244,7 @@ tar -xvf %{SOURCE1} %patch21 -p1 %patch22 -p1 %patch23 -p1 +%patch24 -p1 %patch25 -p1 %patch26 -p1 %patch27 -p1 @@ -715,6 +711,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 27 2013 Honza Horak 5.5.32-4 +- Remove external man pages, upstream fixed man pages license + * Fri Jun 14 2013 Honza Horak 5.5.32-3 - Use man pages from 5.5.30, because their license do not allow us to ship them since 5.5.31 diff --git a/generate-tarball.sh b/generate-tarball.sh index d3e859b..2ff4bff 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -7,7 +7,6 @@ rm -rf mysql-$VERSION tar xfz mysql-$VERSION.tar.gz || exit 1 rm mysql-$VERSION/Docs/mysql.info -rm mysql-$VERSION/man/* tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 diff --git a/sources b/sources index d3d560e..d3c7cd1 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -55b008d92abd01cd553021346a0da853 mysql-5.5.32-nodocs.tar.gz -5e9973ed0c74c3888620290c82514812 mysql-man-gpl.tar.gz +2ce2dd09ec4c69e6fc5b3dabf70a333d mysql-5.5.32-nodocs.tar.gz From 62be2289a30e572525e24acb5d95aec8f6199639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 27 Jun 2013 16:34:43 +0200 Subject: [PATCH 022/274] Apply fixes found by Coverity static analysis tool --- community-mysql-covscan-signexpr.patch | 16 +++++ community-mysql-covscan-stroverflow.patch | 73 +++++++++++++++++++++++ community-mysql.spec | 5 ++ 3 files changed, 94 insertions(+) create mode 100644 community-mysql-covscan-signexpr.patch create mode 100644 community-mysql-covscan-stroverflow.patch diff --git a/community-mysql-covscan-signexpr.patch b/community-mysql-covscan-signexpr.patch new file mode 100644 index 0000000..1bbb3db --- /dev/null +++ b/community-mysql-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/community-mysql-covscan-stroverflow.patch b/community-mysql-covscan-stroverflow.patch new file mode 100644 index 0000000..d671b45 --- /dev/null +++ b/community-mysql-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/community-mysql.spec b/community-mysql.spec index 2bb0e3b..374c542 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -63,6 +63,8 @@ Patch24: community-mysql-man-pages.patch Patch25: community-mysql-tmpdir.patch Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch +Patch28: community-mysql-covscan-signexpr.patch +Patch29: community-mysql-covscan-stroverflow.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -248,6 +250,8 @@ the MySQL sources. %patch25 -p1 %patch26 -p1 %patch27 -p1 +%patch28 -p1 +%patch29 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -713,6 +717,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %changelog * Thu Jun 27 2013 Honza Horak 5.5.32-4 - Remove external man pages, upstream fixed man pages license +- Apply fixes found by Coverity static analysis tool * Fri Jun 14 2013 Honza Horak 5.5.32-3 - Use man pages from 5.5.30, because their license do not From e8e53607777b2543e8c77e161343ff5f0c501502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 1 Jul 2013 16:31:53 +0200 Subject: [PATCH 023/274] Fix misleading error message when uninstalling built-in plugins Related: #966645 --- community-mysql-pluginerrmsg.patch | 74 ++++++++++++++++++++++++++++++ community-mysql.spec | 8 +++- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 community-mysql-pluginerrmsg.patch diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch new file mode 100644 index 0000000..dc000d0 --- /dev/null +++ b/community-mysql-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 mysql-5.5.32/include/mysql.h.pluginerrmsg mysql-5.5.32/include/mysql.h +--- mysql-5.5.32/include/mysql.h.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 ++++ mysql-5.5.32/include/mysql.h 2013-07-01 16:07:29.175690210 +0200 +@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; + + /* backward compatibility define - to be removed eventually */ + #define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED ++#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN + + typedef struct st_mysql_rows { + struct st_mysql_rows *next; /* list of rows */ +diff -up mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg mysql-5.5.32/mysql-test/r/plugin.result +--- mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 ++++ mysql-5.5.32/mysql-test/r/plugin.result 2013-07-01 16:07:29.176690210 +0200 +@@ -63,3 +63,5 @@ set session sql_mode=@old_sql_mode; + set session old=bla; + ERROR HY000: Variable 'old' is a read only variable + UNINSTALL PLUGIN example; ++UNINSTALL PLUGIN MyISAM; ++ERROR HY000: Built-in plugins cannot be deleted +diff -up mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg mysql-5.5.32/mysql-test/t/plugin.test +--- mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 ++++ mysql-5.5.32/mysql-test/t/plugin.test 2013-07-01 16:07:29.199690210 +0200 +@@ -85,3 +85,10 @@ set session sql_mode=@old_sql_mode; + set session old=bla; + + UNINSTALL PLUGIN example; ++ ++# ++# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins ++# ++--error ER_PLUGIN_DELETE_BUILTIN ++UNINSTALL PLUGIN MyISAM; ++ +diff -up mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg mysql-5.5.32/sql/share/errmsg-utf8.txt +--- mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 ++++ mysql-5.5.32/sql/share/errmsg-utf8.txt 2013-07-01 16:07:29.203690210 +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 mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg mysql-5.5.32/sql/sql_plugin.cc +--- mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg 2013-07-01 16:07:29.205690210 +0200 ++++ mysql-5.5.32/sql/sql_plugin.cc 2013-07-01 16:07:54.721689764 +0200 +@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co + } + 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)); + goto err; + } + if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT) diff --git a/community-mysql.spec b/community-mysql.spec index 374c542..000ed0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -65,6 +65,7 @@ Patch26: community-mysql-cve-2013-1861.patch Patch27: community-mysql-innodbwarn.patch Patch28: community-mysql-covscan-signexpr.patch Patch29: community-mysql-covscan-stroverflow.patch +Patch30: community-mysql-pluginerrmsg.patch BuildRequires: perl, readline-devel, openssl-devel BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel @@ -252,6 +253,7 @@ the MySQL sources. %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 # workaround for upstream bug #56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -715,6 +717,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 1 2013 Honza Horak 5.5.32-5 +- Fix misleading error message when uninstalling built-in plugins + Related: #966645 + * Thu Jun 27 2013 Honza Horak 5.5.32-4 - Remove external man pages, upstream fixed man pages license - Apply fixes found by Coverity static analysis tool From 56c556f1555b88c391e70632184018e31852e884 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 9 Jul 2013 10:05:55 +0200 Subject: [PATCH 024/274] Use proper path to ldconfig --- community-mysql.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 000ed0a..c8ec840 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 5%{?dist} +Release: 6%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -103,7 +103,6 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: /sbin/ldconfig Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql-libs = %{version}-%{release} Provides: mysql-libs%{?_isa} = %{version}-%{release} @@ -507,24 +506,24 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%post libs -p /sbin/ldconfig +%post libs -p /usr/sbin/ldconfig %post server %systemd_post mysqld.service /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post embedded -p /sbin/ldconfig +%post embedded -p /usr/sbin/ldconfig %preun server %systemd_preun mysqld.service -%postun libs -p /sbin/ldconfig +%postun libs -p /usr/sbin/ldconfig %postun server %systemd_postun_with_restart mysqld.service -%postun embedded -p /sbin/ldconfig +%postun embedded -p /usr/sbin/ldconfig %files %doc README COPYING README.mysql-license @@ -717,6 +716,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 9 2013 Honza Horak 5.5.32-6 +- Use proper path to ldconfig + * Mon Jul 1 2013 Honza Horak 5.5.32-5 - Fix misleading error message when uninstalling built-in plugins Related: #966645 From affa9444c5a2fdb714a4987198143fa72c30a192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 9 Jul 2013 10:11:48 +0200 Subject: [PATCH 025/274] Use xz instead of gzip Resolves: #982387 --- .gitignore | 1 + community-mysql.spec | 4 +++- generate-tarball.sh | 2 +- sources | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2245f8f..2b742f3 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /mysql-5.5.31-nodocs.tar.gz /mysql-5.5.32-nodocs.tar.gz /mysql-man-gpl.tar.gz +/mysql-5.5.32-nodocs.tar.xz diff --git a/community-mysql.spec b/community-mysql.spec index c8ec840..93eadcc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,7 +17,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD # Upstream has a mirror redirector for downloads, so the URL is hard to # represent statically. You can get the tarball by following a link from # http://dev.mysql.com/downloads/mysql/ -Source0: mysql-%{version}-nodocs.tar.gz +Source0: mysql-%{version}-nodocs.tar.xz # The upstream tarball includes non-free documentation that we cannot ship. # To remove the non-free documentation, run this script after downloading # the tarball into the current directory: @@ -718,6 +718,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %changelog * Tue Jul 9 2013 Honza Horak 5.5.32-6 - Use proper path to ldconfig +- Use xz instead of gzip + Resolves: #982387 * Mon Jul 1 2013 Honza Horak 5.5.32-5 - Fix misleading error message when uninstalling built-in plugins diff --git a/generate-tarball.sh b/generate-tarball.sh index 2ff4bff..4482e67 100755 --- a/generate-tarball.sh +++ b/generate-tarball.sh @@ -8,7 +8,7 @@ tar xfz mysql-$VERSION.tar.gz || exit 1 rm mysql-$VERSION/Docs/mysql.info -tar cfz mysql-$VERSION-nodocs.tar.gz mysql-$VERSION || exit 1 +tar cfJ mysql-$VERSION-nodocs.tar.xz mysql-$VERSION || exit 1 rm -rf mysql-$VERSION diff --git a/sources b/sources index d3c7cd1..15ea7e0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2ce2dd09ec4c69e6fc5b3dabf70a333d mysql-5.5.32-nodocs.tar.gz +fb7995da81f2654d87335c6700a12e86 mysql-5.5.32-nodocs.tar.xz From 99dcbef7532a44646b744dd972904d9f7ce73f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 10 Jul 2013 12:42:29 +0200 Subject: [PATCH 026/274] Arm support for multilib hacks --- community-mysql.spec | 11 +++++++++-- my_config.h | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 93eadcc..cbba601 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 6%{?dist} +Release: 7%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -387,10 +387,14 @@ 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 | arm* | aarch64 ) mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ ;; + arm* ) + mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h + install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ + ;; *) ;; esac @@ -716,6 +720,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 10 2013 Honza Horak 5.5.32-7 +- Arm support for multilib hacks + * Tue Jul 9 2013 Honza Horak 5.5.32-6 - Use proper path to ldconfig - Use xz instead of gzip 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 f335c11f4fbdefd2790222afee476bb6cb260741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 15 Jul 2013 10:42:52 +0200 Subject: [PATCH 027/274] Revert path change to ldconfig, UsrMove is not complete yet --- community-mysql.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cbba601..e5aed3c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 7%{?dist} +Release: 8%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -510,24 +510,24 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : -%post libs -p /usr/sbin/ldconfig +%post libs -p /sbin/ldconfig %post server %systemd_post mysqld.service /bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post embedded -p /usr/sbin/ldconfig +%post embedded -p /sbin/ldconfig %preun server %systemd_preun mysqld.service -%postun libs -p /usr/sbin/ldconfig +%postun libs -p /sbin/ldconfig %postun server %systemd_postun_with_restart mysqld.service -%postun embedded -p /usr/sbin/ldconfig +%postun embedded -p /sbin/ldconfig %files %doc README COPYING README.mysql-license @@ -720,6 +720,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 15 2013 Honza Horak 5.5.32-8 +- Revert path change to ldconfig, UsrMove is not complete yet + * Wed Jul 10 2013 Honza Horak 5.5.32-7 - Arm support for multilib hacks From b531bff95d15da7584597589d499a47aee21a844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Thu, 18 Jul 2013 00:03:25 +0200 Subject: [PATCH 028/274] Perl 5.18 rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index e5aed3c..ba5a3ec 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 8%{?dist} +Release: 9%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -720,6 +720,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jul 17 2013 Petr Pisar - 5.5.32-9 +- Perl 5.18 rebuild + * Mon Jul 15 2013 Honza Horak 5.5.32-8 - Revert path change to ldconfig, UsrMove is not complete yet From b982a182467f79191b952468e3c66f12665e9d39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 26 Jul 2013 15:27:22 +0200 Subject: [PATCH 029/274] Copy some generated files in order find-debuginfo.sh finds them Related: #729040 --- community-mysql.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ba5a3ec..c7a1471 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 9%{?dist} +Release: 10%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -343,6 +343,13 @@ gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 LD_LIBRARY_PATH=. ldd ./a.out cd ../.. +# debuginfo extraction scripts fail to find source files in their real +# location -- satisfy them by copying these files into location, which +# is expected by scripts +for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do + cp -p "storage/innobase/pars/$f" "storage/innobase/$f" +done + %check %if %runselftest # hack to let 32- and 64-bit tests run concurrently on same build machine @@ -720,6 +727,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jul 26 2013 Honza Horak 5.5.32-10 +- Copy some generated files in order find-debuginfo.sh finds them + Related: #729040 + * Wed Jul 17 2013 Petr Pisar - 5.5.32-9 - Perl 5.18 rebuild From 1fd05dc5902fc3bc8b86b9c7e531dce5b9978f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 26 Jul 2013 15:47:04 +0200 Subject: [PATCH 030/274] Fix systemd and perl requirements --- community-mysql.spec | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index c7a1471..451ac2a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -69,11 +69,12 @@ Patch30: community-mysql-pluginerrmsg.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 -BuildRequires: perl(Socket), perl(Time::HiRes), perl(Env) +BuildRequires: perl(Socket), perl(Time::HiRes) +BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) Requires: grep, fileutils, bash Requires: %{name}-common%{?_isa} = %{version}-%{release} @@ -132,11 +133,11 @@ Requires: %{name}-common%{?_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 +Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +Requires(post): systemd +Requires(preun): systemd +Requires(postun): 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. @@ -216,7 +217,8 @@ Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} -Requires: perl(Socket), perl(Time::HiRes), perl(Env) +Requires: perl(Socket), perl(Time::HiRes) +Requires: perl(Data::Dumper), perl(Test::More), perl(Env) %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -730,6 +732,7 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris * Fri Jul 26 2013 Honza Horak 5.5.32-10 - Copy some generated files in order find-debuginfo.sh finds them Related: #729040 +- Fix systemd and perl requirements * Wed Jul 17 2013 Petr Pisar - 5.5.32-9 - Perl 5.18 rebuild From 4b58197577e9eda60c5f4d46cb46164c960daf93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 30 Jul 2013 13:26:51 +0200 Subject: [PATCH 031/274] Fix multilib header location for arm --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 451ac2a..b3c502b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 10%{?dist} +Release: 11%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -396,7 +396,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 | ppc64p7 | s390 | s390x | sparc | sparc64 | arm* | aarch64 ) + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ ;; @@ -729,6 +729,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 30 2013 Honza Horak 5.5.32-11 +- Fix multilib header location for arm + * Fri Jul 26 2013 Honza Horak 5.5.32-10 - Copy some generated files in order find-debuginfo.sh finds them Related: #729040 From 66b5ce1d1af608beaf37dbfeeb5bb1bcc8bb5bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Sat, 3 Aug 2013 15:43:52 +0200 Subject: [PATCH 032/274] Perl 5.18 rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 451ac2a..172b462 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.32 -Release: 10%{?dist} +Release: 11%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -729,6 +729,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Aug 03 2013 Petr Pisar - 5.5.32-11 +- Perl 5.18 rebuild + * Fri Jul 26 2013 Honza Horak 5.5.32-10 - Copy some generated files in order find-debuginfo.sh finds them Related: #729040 From 0a42b35c06b2cbc517b574d03cece35423da1410 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 20 Aug 2013 17:13:19 +0200 Subject: [PATCH 033/274] Update to MySQL 5.5.33, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html --- .gitignore | 1 + community-mysql.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2b742f3..e6e27bc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /mysql-5.5.32-nodocs.tar.gz /mysql-man-gpl.tar.gz /mysql-5.5.32-nodocs.tar.xz +/mysql-5.5.33-nodocs.tar.xz diff --git a/community-mysql.spec b/community-mysql.spec index 61e88eb..a5cf786 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql -Version: 5.5.32 -Release: 12%{?dist} +Version: 5.5.33 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -729,7 +729,11 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog -* Tue Jul 30 2013 Honza Horak 5.5.32-12 +* Tue Aug 20 2013 Honza Horak 5.5.33-1 +- Update to MySQL 5.5.33, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html + +* Tue Aug 20 2013 Honza Horak 5.5.32-12 - Fix multilib header location for arm * Sat Aug 03 2013 Petr Pisar - 5.5.32-11 diff --git a/sources b/sources index 15ea7e0..7c848fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fb7995da81f2654d87335c6700a12e86 mysql-5.5.32-nodocs.tar.xz +eca726ea3457ac885f31aeeee65f9ba3 mysql-5.5.33-nodocs.tar.xz From a950da39b8d430e580f8f765aff0f1f2fbc2d9f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 20 Aug 2013 17:28:47 +0200 Subject: [PATCH 034/274] Rebase patch30 --- community-mysql-pluginerrmsg.patch | 40 +++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch index dc000d0..9e4461d 100644 --- a/community-mysql-pluginerrmsg.patch +++ b/community-mysql-pluginerrmsg.patch @@ -12,9 +12,9 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 -diff -up mysql-5.5.32/include/mysql.h.pluginerrmsg mysql-5.5.32/include/mysql.h ---- mysql-5.5.32/include/mysql.h.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 -+++ mysql-5.5.32/include/mysql.h 2013-07-01 16:07:29.175690210 +0200 +diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h +--- mysql-5.5.33/include/mysql.h.p30 2013-07-15 14:01:50.000000000 +0200 ++++ mysql-5.5.33/include/mysql.h 2013-08-20 17:26:56.745334059 +0200 @@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; /* backward compatibility define - to be removed eventually */ @@ -23,20 +23,20 @@ diff -up mysql-5.5.32/include/mysql.h.pluginerrmsg mysql-5.5.32/include/mysql.h typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ -diff -up mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg mysql-5.5.32/mysql-test/r/plugin.result ---- mysql-5.5.32/mysql-test/r/plugin.result.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 -+++ mysql-5.5.32/mysql-test/r/plugin.result 2013-07-01 16:07:29.176690210 +0200 -@@ -63,3 +63,5 @@ set session sql_mode=@old_sql_mode; - set session old=bla; - ERROR HY000: Variable 'old' is a read only variable +diff -up mysql-5.5.33/mysql-test/r/plugin.result.p30 mysql-5.5.33/mysql-test/r/plugin.result +--- mysql-5.5.33/mysql-test/r/plugin.result.p30 2013-07-15 14:01:49.000000000 +0200 ++++ mysql-5.5.33/mysql-test/r/plugin.result 2013-08-20 17:26:56.746334059 +0200 +@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar; + @@SESSION.example_double_thdvar + 1000.500000 UNINSTALL PLUGIN example; +UNINSTALL PLUGIN MyISAM; +ERROR HY000: Built-in plugins cannot be deleted -diff -up mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg mysql-5.5.32/mysql-test/t/plugin.test ---- mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg 2013-05-16 17:47:14.000000000 +0200 -+++ mysql-5.5.32/mysql-test/t/plugin.test 2013-07-01 16:07:29.199690210 +0200 -@@ -85,3 +85,10 @@ set session sql_mode=@old_sql_mode; - set session old=bla; +diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plugin.test +--- mysql-5.5.33/mysql-test/t/plugin.test.p30 2013-07-15 14:01:49.000000000 +0200 ++++ mysql-5.5.33/mysql-test/t/plugin.test 2013-08-20 17:26:56.746334059 +0200 +@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000 + SELECT @@SESSION.example_double_thdvar; UNINSTALL PLUGIN example; + @@ -46,9 +46,9 @@ diff -up mysql-5.5.32/mysql-test/t/plugin.test.pluginerrmsg mysql-5.5.32/mysql-t +--error ER_PLUGIN_DELETE_BUILTIN +UNINSTALL PLUGIN MyISAM; + -diff -up mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg mysql-5.5.32/sql/share/errmsg-utf8.txt ---- mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg 2013-05-16 17:47:15.000000000 +0200 -+++ mysql-5.5.32/sql/share/errmsg-utf8.txt 2013-07-01 16:07:29.203690210 +0200 +diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errmsg-utf8.txt +--- mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 2013-07-15 14:01:50.000000000 +0200 ++++ mysql-5.5.33/sql/share/errmsg-utf8.txt 2013-08-20 17:26:56.750334057 +0200 @@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO WARN_OPTION_IGNORED eng "<%-.64s> option ignored" @@ -58,9 +58,9 @@ diff -up mysql-5.5.32/sql/share/errmsg-utf8.txt.pluginerrmsg mysql-5.5.32/sql/sh eng "Built-in plugins cannot be deleted" ger "Eingebaute Plugins können nicht gelöscht werden" WARN_PLUGIN_BUSY -diff -up mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg mysql-5.5.32/sql/sql_plugin.cc ---- mysql-5.5.32/sql/sql_plugin.cc.pluginerrmsg 2013-07-01 16:07:29.205690210 +0200 -+++ mysql-5.5.32/sql/sql_plugin.cc 2013-07-01 16:07:54.721689764 +0200 +diff -up mysql-5.5.33/sql/sql_plugin.cc.p30 mysql-5.5.33/sql/sql_plugin.cc +--- mysql-5.5.33/sql/sql_plugin.cc.p30 2013-08-20 17:26:56.640334104 +0200 ++++ mysql-5.5.33/sql/sql_plugin.cc 2013-08-20 17:26:56.752334057 +0200 @@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co } if (!plugin->plugin_dl) From 0a86414a6ca5e8eb84c54ebe01ee5f1c5b611e64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 2 Sep 2013 17:48:59 +0200 Subject: [PATCH 035/274] Enhanced my.cnf to be the same as in mariadb Resolves: #1003115 --- community-mysql.spec | 6 +++++- my.cnf | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a5cf786..1e45798 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,6 +1,6 @@ Name: community-mysql Version: 5.5.33 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -729,6 +729,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Sep 2 2013 Honza Horak 5.5.33-2 +- Enhanced my.cnf to be the same as in mariadb + Resolves: #1003115 + * Tue Aug 20 2013 Honza Horak 5.5.33-1 - Update to MySQL 5.5.33, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-33.html diff --git a/my.cnf b/my.cnf index 1df1f70..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] +# 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 9d8b44262de89f8d84228366c566d0188b32f528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 9 Oct 2013 17:55:08 +0200 Subject: [PATCH 036/274] Update to 5.6.14 --- .gitignore | 1 + community-mysql-5.6.10-libmysql-version.patch | 150 ++++ ...=> community-mysql-5.6.11-cipherspec.patch | 99 +-- community-mysql-5.6.13-major.patch | 11 + community-mysql-5.6.13-mtr-secure-file.patch | 115 +++ community-mysql-5.6.13-truncate-file.patch | 21 + community-mysql-5.6.14-mysql-install.patch | 239 ++++++ community-mysql-covscan-stroverflow.patch | 58 +- community-mysql-cve-2013-1861.patch | 22 +- community-mysql-dubious-exports.patch | 169 ---- community-mysql-errno.patch | 21 - community-mysql-expired-certs.patch | 16 + community-mysql-logrotate.patch | 32 +- community-mysql-major.patch | 12 - community-mysql-netdevname.patch | 23 +- community-mysql-plugin-bool.patch | 42 - community-mysql-plugin-test.patch | 96 --- community-mysql-pluginerrmsg.patch | 40 +- community-mysql-stack-guard.patch | 139 --- community-mysql-string-overflow.patch | 43 +- community-mysql-strmov.patch | 10 +- community-mysql-tmpdir.patch | 49 +- community-mysql-va-list.patch | 55 -- community-mysql-versioning.patch | 18 - community-mysql.spec | 789 +++++++++--------- filter-requires-mysql.sh | 5 - libmysql.version | 148 ---- my.cnf | 14 +- my_config.h | 1 + mysql-5.6.10-rpmlintrc | 48 ++ MySQL.tmpfiles.d => mysql.tmpfiles.d | 0 mysql_config.sh | 26 + rh-skipped-tests-arm.list | 6 + rh-skipped-tests-base.list | 1 - sources | 2 +- 35 files changed, 1218 insertions(+), 1303 deletions(-) create mode 100644 community-mysql-5.6.10-libmysql-version.patch rename community-mysql-cipherspec.patch => community-mysql-5.6.11-cipherspec.patch (66%) create mode 100644 community-mysql-5.6.13-major.patch create mode 100644 community-mysql-5.6.13-mtr-secure-file.patch create mode 100644 community-mysql-5.6.13-truncate-file.patch create mode 100644 community-mysql-5.6.14-mysql-install.patch delete mode 100644 community-mysql-dubious-exports.patch delete mode 100644 community-mysql-errno.patch delete mode 100644 community-mysql-major.patch delete mode 100644 community-mysql-plugin-bool.patch delete mode 100644 community-mysql-plugin-test.patch delete mode 100644 community-mysql-stack-guard.patch delete mode 100644 community-mysql-va-list.patch delete mode 100644 community-mysql-versioning.patch delete mode 100755 filter-requires-mysql.sh delete mode 100644 libmysql.version create mode 100644 mysql-5.6.10-rpmlintrc rename MySQL.tmpfiles.d => mysql.tmpfiles.d (100%) create mode 100644 mysql_config.sh diff --git a/.gitignore b/.gitignore index e6e27bc..bd19720 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /mysql-man-gpl.tar.gz /mysql-5.5.32-nodocs.tar.xz /mysql-5.5.33-nodocs.tar.xz +/mysql-5.6.14-nodocs.tar.xz diff --git a/community-mysql-5.6.10-libmysql-version.patch b/community-mysql-5.6.10-libmysql-version.patch new file mode 100644 index 0000000..66994e7 --- /dev/null +++ b/community-mysql-5.6.10-libmysql-version.patch @@ -0,0 +1,150 @@ +--- mysql-5.6.10/libmysql/libmysql.ver.in 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/libmysql/libmysql.ver.in.fedora 2013-02-21 12:59:40.108881131 +0100 +@@ -1,1 +1,146 @@ +-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; ++# symbols exported from mysql 5.1 ++libmysqlclient_16 { ++ global: ++ _fini; ++ _init; ++ my_init; ++ myodbc_remove_escape; ++ mysql_affected_rows; ++ mysql_autocommit; ++ mysql_change_user; ++ mysql_character_set_name; ++ mysql_close; ++ mysql_commit; ++ mysql_data_seek; ++ mysql_debug; ++ mysql_dump_debug_info; ++ mysql_embedded; ++ mysql_eof; ++ mysql_errno; ++ mysql_error; ++ mysql_escape_string; ++ mysql_fetch_field; ++ mysql_fetch_field_direct; ++ mysql_fetch_fields; ++ mysql_fetch_lengths; ++ mysql_fetch_row; ++ mysql_field_count; ++ mysql_field_seek; ++ mysql_field_tell; ++ mysql_free_result; ++ mysql_get_character_set_info; ++ mysql_get_client_info; ++ mysql_get_client_version; ++ mysql_get_host_info; ++ mysql_get_parameters; ++ mysql_get_proto_info; ++ mysql_get_server_info; ++ mysql_get_server_version; ++ mysql_get_ssl_cipher; ++ mysql_hex_string; ++ mysql_info; ++ mysql_init; ++ mysql_insert_id; ++ mysql_kill; ++ mysql_list_dbs; ++ mysql_list_fields; ++ mysql_list_processes; ++ mysql_list_tables; ++ mysql_more_results; ++ mysql_next_result; ++ mysql_num_fields; ++ mysql_num_rows; ++ mysql_options; ++ mysql_ping; ++ mysql_query; ++ mysql_read_query_result; ++ mysql_real_connect; ++ mysql_real_escape_string; ++ mysql_real_query; ++ mysql_refresh; ++ mysql_rollback; ++ mysql_row_seek; ++ mysql_row_tell; ++ mysql_select_db; ++ mysql_send_query; ++ mysql_server_end; ++ mysql_server_init; ++ mysql_set_character_set; ++ mysql_set_local_infile_default; ++ mysql_set_local_infile_handler; ++ mysql_set_server_option; ++ mysql_shutdown; ++ mysql_sqlstate; ++ mysql_ssl_set; ++ mysql_stat; ++ mysql_stmt_affected_rows; ++ mysql_stmt_attr_get; ++ mysql_stmt_attr_set; ++ mysql_stmt_bind_param; ++ mysql_stmt_bind_result; ++ mysql_stmt_close; ++ mysql_stmt_data_seek; ++ mysql_stmt_errno; ++ mysql_stmt_error; ++ mysql_stmt_execute; ++ mysql_stmt_fetch; ++ mysql_stmt_fetch_column; ++ mysql_stmt_field_count; ++ mysql_stmt_free_result; ++ mysql_stmt_init; ++ mysql_stmt_insert_id; ++ mysql_stmt_num_rows; ++ mysql_stmt_param_count; ++ mysql_stmt_param_metadata; ++ mysql_stmt_prepare; ++ mysql_stmt_reset; ++ mysql_stmt_result_metadata; ++ mysql_stmt_row_seek; ++ mysql_stmt_row_tell; ++ mysql_stmt_send_long_data; ++ mysql_stmt_sqlstate; ++ mysql_stmt_store_result; ++ mysql_store_result; ++ mysql_thread_end; ++ mysql_thread_id; ++ mysql_thread_init; ++ mysql_thread_safe; ++ mysql_use_result; ++ mysql_warning_count; ++# These are documented in Paul DuBois' MySQL book, so we treat them as part ++# of the de-facto API. ++ free_defaults; ++ handle_options; ++ load_defaults; ++ my_print_help; ++# This isn't really documented anywhere, but it seems to be part of the ++# de-facto API as well. We're not going to export the deprecated version ++# make_scrambled_password, however. ++ my_make_scrambled_password; ++# This really shouldn't be exported, but some applications use it as a ++# workaround for inadequate threading support; see bug #846602 ++ THR_KEY_mysys; ++ local: ++ *; ++}; ++# symbols added in mysql 5.5 ++libmysqlclient_18 { ++ global: ++ mysql_client_find_plugin; ++ mysql_client_register_plugin; ++ mysql_load_plugin; ++ mysql_load_plugin_v; ++ mysql_plugin_options; ++ mysql_stmt_next_result; ++# ++# Ideally the following symbols wouldn't be exported, but various applications ++# require them. ++# ++# mysql-connector-odbc requires these ++ default_charset_info; ++ get_charset; ++ get_charset_by_csname; ++ net_realloc; ++# PHP's mysqli.so requires this (via the ER() macro) ++ client_errors; ++}; diff --git a/community-mysql-cipherspec.patch b/community-mysql-5.6.11-cipherspec.patch similarity index 66% rename from community-mysql-cipherspec.patch rename to community-mysql-5.6.11-cipherspec.patch index 5210055..a79e5b3 100644 --- a/community-mysql-cipherspec.patch +++ b/community-mysql-5.6.11-cipherspec.patch @@ -1,46 +1,48 @@ -Some test items assume the default SSL cipher is DHE-RSA-AES256-SHA, +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 +This patch enhances connect command by an option to specify a cipher and tests are adjusted to specify the expected cipher explicitly. Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 -diff -up mysql-5.5.28/client/mysqltest.cc.p18 mysql-5.5.28/client/mysqltest.cc ---- mysql-5.5.28/client/mysqltest.cc.p18 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/client/mysqltest.cc 2012-12-06 14:25:46.370001422 +0100 -@@ -5458,6 +5458,7 @@ void do_connect(struct st_command *comma - my_bool con_ssl= 0, con_compress= 0; +diff --git a/client/mysqltest.cc b/client/mysqltest.cc +index b6c8643..0e40b0d 100644 +--- a/client/mysqltest.cc ++++ b/client/mysqltest.cc +@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command) my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; + my_bool con_secure_auth= 1; struct st_connection* con_slot; + char *con_cipher=NULL; static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5548,6 +5549,8 @@ void do_connect(struct st_command *comma - con_shm= 1; - else if (!strncmp(con_options, "CLEARTEXT", 9)) +@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command) con_cleartext_enable= 1; + else if (!strncmp(con_options, "SKIPSECUREAUTH",14)) + con_secure_auth= 0; + else if (!strncmp(con_options, "CIPHER:", 7)) + con_cipher = con_options + 7; else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5595,8 +5598,11 @@ void do_connect(struct st_command *comma +@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command) if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) -+ /* 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 mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/openssl_1.test ---- mysql-5.5.28/mysql-test/t/openssl_1.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/openssl_1.test 2012-12-06 14:25:46.371001424 +0100 -@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@loca +diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test +index 3e907f1..02b89ad 100644 +--- a/mysql-test/t/openssl_1.test ++++ b/mysql-test/t/openssl_1.test +@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; flush privileges; @@ -68,7 +70,7 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/ --echo End of 5.0 tests # -@@ -250,7 +250,7 @@ select 'is still running; no cipher requ +@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -77,34 +79,11 @@ diff -up mysql-5.5.28/mysql-test/t/openssl_1.test.p18 mysql-5.5.28/mysql-test/t/ SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; -diff -up mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 mysql-5.5.28/mysql-test/t/ssl_8k_key.test ---- mysql-5.5.28/mysql-test/t/ssl_8k_key.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/ssl_8k_key.test 2012-12-06 14:25:46.371001424 +0100 -@@ -2,7 +2,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other - ## encryption routines that the SSL library happens to provide! -diff -up mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 mysql-5.5.28/mysql-test/t/ssl_compress.test ---- mysql-5.5.28/mysql-test/t/ssl_compress.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/ssl_compress.test 2012-12-06 14:25:46.371001424 +0100 -@@ -7,7 +7,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); -+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; -diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.test ---- mysql-5.5.28/mysql-test/t/ssl.test.p18 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/t/ssl.test 2012-12-06 14:25:46.371001424 +0100 -@@ -6,7 +6,7 @@ +diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test +index ea8be39..c61ca8b 100644 +--- a/mysql-test/t/ssl.test ++++ b/mysql-test/t/ssl.test +@@ -8,7 +8,7 @@ # Save the initial number of concurrent sessions --source include/count_sessions.inc @@ -113,3 +92,29 @@ diff -up mysql-5.5.28/mysql-test/t/ssl.test.p18 mysql-5.5.28/mysql-test/t/ssl.te # Check ssl turned on SHOW STATUS LIKE 'Ssl_cipher'; +diff --git a/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test +index d94c2fc..c27ca58 100644 +--- a/mysql-test/t/ssl_8k_key.test ++++ b/mysql-test/t/ssl_8k_key.test +@@ -4,7 +4,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 ++--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 + + ## This test file is for testing encrypted communication only, not other + ## encryption routines that the SSL library happens to provide! +diff --git a/mysql-test/t/ssl_compress.test b/mysql-test/t/ssl_compress.test +index 2cb4c0d..feaa0e7 100644 +--- a/mysql-test/t/ssl_compress.test ++++ b/mysql-test/t/ssl_compress.test +@@ -9,7 +9,7 @@ + # Save the initial number of concurrent sessions + --source include/count_sessions.inc + +-connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); ++connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); + + # Check ssl turned on + SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/community-mysql-5.6.13-major.patch b/community-mysql-5.6.13-major.patch new file mode 100644 index 0000000..8d65acf --- /dev/null +++ b/community-mysql-5.6.13-major.patch @@ -0,0 +1,11 @@ +--- mysql-5.6.13/cmake/mysql_version.cmake.orig 2013-08-15 13:48:26.177017731 +0200 ++++ mysql-5.6.13/cmake/mysql_version.cmake 2013-08-15 13:49:35.478949928 +0200 +@@ -17,7 +17,7 @@ + # Global constants, only to be changed between major releases. + # + +-SET(SHARED_LIB_MAJOR_VERSION "18") ++SET(SHARED_LIB_MAJOR_VERSION "1018") + SET(SHARED_LIB_MINOR_VERSION "1") + SET(PROTOCOL_VERSION "10") + SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-5.6.13-mtr-secure-file.patch b/community-mysql-5.6.13-mtr-secure-file.patch new file mode 100644 index 0000000..fa3cf8e --- /dev/null +++ b/community-mysql-5.6.13-mtr-secure-file.patch @@ -0,0 +1,115 @@ +------------------------------------------------------------ +revno: 5459 +committer: horst.hunger@oracle.com +branch nick: mysql-trunk +timestamp: Tue 2013-04-02 11:24:05 +0200 +message: + Changes concerning secure-file-prev. +diff: +=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR + +=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt' +--- mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 ++++ mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 +@@ -0,0 +1,1 @@ ++--secure-file-priv=$MYSQL_TMP_DIR diff --git a/community-mysql-5.6.13-truncate-file.patch b/community-mysql-5.6.13-truncate-file.patch new file mode 100644 index 0000000..4bbeece --- /dev/null +++ b/community-mysql-5.6.13-truncate-file.patch @@ -0,0 +1,21 @@ +Unneccesary use of Env module in Perl code in a test + +Code used Env just to get the value of a single environment variable, +causing the test to fail on systems which does not have this +installed. This use is overkill, can easily be replaced by standard +access via the ENV hash. + +diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc +--- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200 ++++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200 +@@ -9,8 +9,7 @@ if (!$file) + let TRUNCATE_FILE= $file; + + perl; +-use Env; +-Env::import('TRUNCATE_FILE'); +-open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file"; ++my $file= $ENV{'TRUNCATE_FILE'}; ++open FILE, '>', $file || die "Can not open file $file"; + close FILE; + EOF diff --git a/community-mysql-5.6.14-mysql-install.patch b/community-mysql-5.6.14-mysql-install.patch new file mode 100644 index 0000000..b8201f8 --- /dev/null +++ b/community-mysql-5.6.14-mysql-install.patch @@ -0,0 +1,239 @@ +diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in +index c142d4f..f1f2891 100644 +--- a/scripts/mysql_install_db.pl.in ++++ b/scripts/mysql_install_db.pl.in +@@ -34,13 +34,35 @@ + # + ############################################################################## + +-use Fcntl; +-use File::Basename; +-use File::Copy; +-use Getopt::Long; +-use Sys::Hostname; +-use Data::Dumper; + use strict; ++use warnings; ++ ++############################################################################## ++# Check if all needed modules are available, exit if something is missing. ++############################################################################## ++ ++BEGIN { ++ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', ++ 'Sys::Hostname', 'Data::Dumper'); ++ my @missing_mods; ++ my $req; ++ foreach $req (@req_mods) { ++ eval 'require ' . $req; ++ if ($@) { ++ push(@missing_mods, $req); ++ } else { ++ $req->import(); ++ } ++ } ++ # this avoids the confusing "BEGIN failed--compilation aborted" message ++ local $SIG{__DIE__} = sub {warn @_; exit 1}; ++ ++ if (@missing_mods) { ++ my $msg = "FATAL ERROR: please install the following Perl modules " . ++ "before executing $0:\n" . join("\n",@missing_mods)."\n"; ++ die $msg; ++ } ++} + + Getopt::Long::Configure("pass_through"); + +@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] + --help Display this help and exit. + --ldata=path The path to the MySQL data directory. Same as --datadir. + --no-defaults Don't read default options from any option file. ++ --keep-my-cnf Don't try to create my.cnf based on template. ++ Useful for systems with working, updated my.cnf. + EOF1 + if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { + print <{srcdir} and $opt->{basedir} ) + { + error($opt,"Specify either --basedir or --srcdir, not both"); + } ++if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) ++{ ++ $keep_my_cnf = 1; ++} + if ( $opt->{srcdir} ) + { + $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; +@@ -425,13 +462,18 @@ my $config_file; + my $copy_cfg_file; + + # ---------------------------------------------------------------------- +-# This will be the default config file ++# This will be the default config file (unless creation is unwanted) + # ---------------------------------------------------------------------- + + $config_file= "$basedir/my.cnf"; + + my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", + "share","share/mysql","support-files"); ++# Distros might move files ++if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { ++ $cfg_template = "@pkgdatadir@/my-default.cnf"; ++} ++ + -e $cfg_template or cannot_find_file("my-default.cnf"); + + $copy_cfg_file= $config_file; +@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.cnf/my-new.cnf/; + # Too early to print warning here, the user may not notice + } +-open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); +-if (open (CFG, "> $copy_cfg_file")) +-{ +- while () +- { +- # Remove lines beginning with # *** which are template comments +- print CFG $_ unless /^# \*\*\*/; ++ ++if ( ! $keep_my_cnf ) { ++ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); ++ if (open (CFG, "> $copy_cfg_file")) { ++ while () { ++ # Remove lines beginning with # *** which are template comments ++ print CFG $_ unless /^# \*\*\*/; ++ } ++ close CFG; ++ } else { ++ warning($opt,"Could not write to config file $copy_cfg_file: $!"); ++ $failed_write_cfg= 1; + } +- close CFG; ++ close TEMPL; + } +-else +-{ +- warning($opt,"Could not write to config file $copy_cfg_file: $!"); +- $failed_write_cfg= 1; +-} +-close TEMPL; + + # ---------------------------------------------------------------------- + # Now we can get arguments from the groups [mysqld] and [mysql_install_db] +@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) + } + + # ---------------------------------------------------------------------- +-# Create database directories mysql & test ++# Create database directory mysql + # ---------------------------------------------------------------------- + + # FIXME The shell variant uses "mkdir -p": +@@ -652,7 +693,7 @@ if ($opt_user) + } + } + +-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) ++foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") + { + mkdir($dir, 0700) unless -d $dir; + if ($opt_user and -w "/") +@@ -838,15 +879,26 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) + " cd mysql-test ; perl mysql-test-run.pl"); + } + report($opt, +- "Please report any problems with the " . '@scriptdir@' . "/mysqlbug script!", +- "", + "The latest information about MySQL is available on the web at", + "", + " http://www.mysql.com", + "", +- "Support MySQL by buying support/licenses at http://shop.mysql.com"); ++ "Please visit", ++ "", ++ " http://bugs.mysql.com/", ++ "", ++ "to report bugs. This database is public and can be browsed", ++ "and searched by anyone. If you log in to the system", ++ "you can enter new reports."); ++ + +- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) ++ if ($keep_my_cnf) ++ { ++ report($opt, ++ "Note: new default config file not created.", ++ "Please make sure your config file is current"); ++ } ++ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) + { + report($opt, + "New default config file was created as $config_file and", +@@ -900,9 +952,15 @@ else + "http://www.mysql.com", + "Please consult the MySQL manual section: 'Problems running mysql_install_db',", + "and the manual section that describes problems on your OS.", +- "Another information source is the MySQL email archive.", +- "Please check all of the above before mailing us!", +- "And if you do mail us, you MUST use the " . '@scriptdir@' . "/mysqlbug script!") ++ "Another information source is our bug database.", ++ "Please visit", ++ "", ++ " http://bugs.mysql.com/", ++ "", ++ "to report bugs. This database is public and can be browsed", ++ "and searched by anyone. If you log in to the system you can", ++ "enter new reports."); ++ + } + + ############################################################################## diff --git a/community-mysql-covscan-stroverflow.patch b/community-mysql-covscan-stroverflow.patch index d671b45..1cfd490 100644 --- a/community-mysql-covscan-stroverflow.patch +++ b/community-mysql-covscan-stroverflow.patch @@ -1,15 +1,15 @@ 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: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: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 +diff -up mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 mysql-5.6.14/plugin/semisync/semisync_master.cc +--- mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/plugin/semisync/semisync_master.cc 2013-10-09 15:29:03.550379533 +0200 +@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo if (need_copy_send_pos) { @@ -19,7 +19,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys reply_file_pos_ = log_file_pos; reply_file_name_inited_ = true; -@@ -658,7 +659,8 @@ int ReplSemiSyncMaster::commitTrx(const +@@ -681,7 +682,8 @@ int ReplSemiSyncMaster::commitTrx(const if (cmp <= 0) { /* This thd has a lower position, let's update the minimum info. */ @@ -29,7 +29,7 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys wait_file_pos_ = trx_wait_binlog_pos; rpl_semi_sync_master_wait_pos_backtraverse++; -@@ -669,7 +671,8 @@ int ReplSemiSyncMaster::commitTrx(const +@@ -692,7 +694,8 @@ int ReplSemiSyncMaster::commitTrx(const } else { @@ -39,35 +39,19 @@ diff -up mysql-5.5.31/plugin/semisync/semisync_master.cc.covscan-stroverflow mys wait_file_pos_ = trx_wait_binlog_pos; wait_file_name_inited_ = true; +mysql-5.5.31/sql/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. -mysql-5.5.31/sql/rpl_handler.cc:306:fixed_size_dest – You might overrun the 512 byte fixed-size string "log_info->log_file" by copying "log_file + dirname_length(log_file)" without checking the length. diff -up mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow mysql-5.5.31/sql/rpl_handler.cc - ---- mysql-5.5.31/sql/rpl_handler.cc.covscan-stroverflow 2013-06-17 10:51:04.940509594 +0200 -+++ mysql-5.5.31/sql/rpl_handler.cc 2013-06-17 10:51:08.959509523 +0200 -@@ -303,7 +303,8 @@ int Binlog_storage_delegate::after_flush - my_pthread_setspecific_ptr(RPL_TRANS_BINLOG_INFO, log_info); - } - -- strcpy(log_info->log_file, log_file+dirname_length(log_file)); -+ strncpy(log_info->log_file, log_file+dirname_length(log_file), sizeof(log_info->log_file)-1); -+ log_info->log_file[sizeof(log_info->log_file)-1] = '\0'; - log_info->log_pos = log_pos; - - int ret= 0; - - -mysql-5.5.31/sql/sp_rcontext.h:87:buffer_size_warning – Calling strncpy with a maximum size argument of 512 bytes on destination array "this->m_message" of size 512 bytes might leave the destination string unterminated. - -diff -up mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow mysql-5.5.31/sql/sp_rcontext.h ---- mysql-5.5.31/sql/sp_rcontext.h.covscan-stroverflow 2013-06-17 13:28:32.540344334 +0200 -+++ mysql-5.5.31/sql/sp_rcontext.h 2013-06-17 13:29:23.673343443 +0200 -@@ -84,7 +84,8 @@ public: - memcpy(m_sql_state, sqlstate, SQLSTATE_LENGTH); - m_sql_state[SQLSTATE_LENGTH]= '\0'; +diff -up mysql-5.6.14/sql/rpl_handler.cc.p33 mysql-5.6.14/sql/rpl_handler.cc +diff -up mysql-5.6.14/sql/sp_rcontext.h.p33 mysql-5.6.14/sql/sp_rcontext.h +--- mysql-5.6.14/sql/sp_rcontext.h.p33 2013-10-09 15:29:03.552379535 +0200 ++++ mysql-5.6.14/sql/sp_rcontext.h 2013-10-09 15:29:53.367412814 +0200 +@@ -144,7 +144,8 @@ public: + memcpy(sql_state, _sql_state, SQLSTATE_LENGTH); + sql_state[SQLSTATE_LENGTH]= '\0'; -- strncpy(m_message, msg, MYSQL_ERRMSG_SIZE); -+ strncpy(m_message, msg, sizeof(m_message)-1); -+ m_message[sizeof(m_message)-1] = '\0'; - } +- strncpy(message, _message, MYSQL_ERRMSG_SIZE); ++ strncpy(message, _message, sizeof(message)-1); ++ message[sizeof(message)-1] = '\0'; + } + }; - void clear() diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch index 75e35c3..cc4b74d 100644 --- a/community-mysql-cve-2013-1861.patch +++ b/community-mysql-cve-2013-1861.patch @@ -2,11 +2,11 @@ It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't ship a test case for that. This patch only includes the test case ported from MariaDB fix: https://mariadb.atlassian.net/browse/MDEV-4252 - -diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis.result ---- mysql-5.5.31/mysql-test/r/gis.result.cve 2013-06-03 16:32:33.732025515 +0200 -+++ mysql-5.5.31/mysql-test/r/gis.result 2013-06-03 16:34:04.519691044 +0200 -@@ -1113,4 +1113,19 @@ SELECT 1 FROM g1 WHERE a >= ANY + +diff -up mysql-5.6.14/mysql-test/r/gis.result.cve mysql-5.6.14/mysql-test/r/gis.result +--- mysql-5.6.14/mysql-test/r/gis.result.cve 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/r/gis.result 2013-10-09 15:08:59.886598028 +0200 +@@ -1115,6 +1115,21 @@ SELECT 1 FROM g1 WHERE a >= ANY (SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ; 1 DROP TABLE g1; @@ -26,10 +26,12 @@ diff -up mysql-5.5.31/mysql-test/r/gis.result.cve mysql-5.5.31/mysql-test/r/gis. +astext(centroid(0x0100000000030000000100000000000010)) +NULL End of 5.5 tests -diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.test ---- mysql-5.5.31/mysql-test/t/gis.test.cve 2013-06-03 16:32:33.733025512 +0200 -+++ mysql-5.5.31/mysql-test/t/gis.test 2013-06-03 16:34:38.942560749 +0200 -@@ -868,4 +868,11 @@ SELECT 1 FROM g1 WHERE a >= ANY + DROP DATABASE IF EXISTS gis_ogs; + CREATE DATABASE gis_ogs; +diff -up mysql-5.6.14/mysql-test/t/gis.test.cve mysql-5.6.14/mysql-test/t/gis.test +--- mysql-5.6.14/mysql-test/t/gis.test.cve 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/t/gis.test 2013-10-09 15:08:59.886598028 +0200 +@@ -868,6 +868,13 @@ SELECT 1 FROM g1 WHERE a >= ANY DROP TABLE g1; @@ -41,3 +43,5 @@ diff -up mysql-5.5.31/mysql-test/t/gis.test.cve mysql-5.5.31/mysql-test/t/gis.te +select astext(exteriorring(0x0100000000030000000100000000000010)); +select astext(centroid(0x0100000000030000000100000000000010)); --echo End of 5.5 tests + + diff --git a/community-mysql-dubious-exports.patch b/community-mysql-dubious-exports.patch deleted file mode 100644 index 4a88d1d..0000000 --- a/community-mysql-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 mysql-5.5.28/client/mysqladmin.cc.p8 mysql-5.5.28/client/mysqladmin.cc ---- mysql-5.5.28/client/mysqladmin.cc.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/client/mysqladmin.cc 2012-12-06 14:16:14.598520859 +0100 -@@ -21,6 +21,7 @@ - #include /* because of signal() */ - #include - #include -+#include /* my_make_scrambled_password_323, my_make_scrambled_password */ - #include - #include /* ORACLE_WELCOME_COPYRIGHT_NOTICE */ - -@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql - } - } - if (old) -- make_scrambled_password_323(crypted_pw, typed_password); -+ my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password)); - else -- make_scrambled_password(crypted_pw, typed_password); -+ my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password)); - } - else - crypted_pw[0]=0; /* No password */ -diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h ---- mysql-5.5.28/include/errmsg.h.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/errmsg.h 2012-12-06 14:16:14.598520859 +0100 -@@ -24,6 +24,7 @@ extern "C" { - #endif - void init_client_errs(void); - void finish_client_errs(void); -+#define client_errors mysql_client_errors /* namespace sanity */ - extern const char *client_errors[]; /* Error messages */ - #ifdef __cplusplus - } -diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h ---- mysql-5.5.28/include/mysql_com.h.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/mysql_com.h 2012-12-06 14:16:14.599520860 +0100 -@@ -452,6 +452,7 @@ my_bool my_net_init(NET *net, Vio* vio); - void my_net_local_init(NET *net); - void net_end(NET *net); - void net_clear(NET *net, my_bool clear_buffer); -+#define net_realloc mysql_net_realloc /* namespace sanity */ - my_bool net_realloc(NET *net, size_t length); - my_bool net_flush(NET *net); - my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); -@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *); - void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); - - void hash_password(unsigned long *to, const char *password, unsigned int password_len); --void make_scrambled_password_323(char *to, const char *password); - void scramble_323(char *to, const char *message, const char *password); - my_bool check_scramble_323(const unsigned char *reply, const char *message, - unsigned long *salt); - void get_salt_from_password_323(unsigned long *res, const char *password); - void make_password_from_salt_323(char *to, const unsigned long *salt); - --void make_scrambled_password(char *to, const char *password); - void scramble(char *to, const char *message, const char *password); - my_bool check_scramble(const unsigned char *reply, const char *message, - const unsigned char *hash_stage2); -diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp ---- mysql-5.5.28/include/mysql.h.pp.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/mysql.h.pp 2012-12-06 14:16:14.598520859 +0100 -@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio); - void my_net_local_init(NET *net); - void net_end(NET *net); - void net_clear(NET *net, my_bool clear_buffer); --my_bool net_realloc(NET *net, size_t length); -+my_bool mysql_net_realloc(NET *net, size_t length); - my_bool net_flush(NET *net); - my_bool my_net_write(NET *net,const unsigned char *packet, size_t len); - my_bool net_write_command(NET *net,unsigned char command, -@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un - double my_rnd(struct rand_struct *); - void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st); - void hash_password(unsigned long *to, const char *password, unsigned int password_len); --void make_scrambled_password_323(char *to, const char *password); - void scramble_323(char *to, const char *message, const char *password); - my_bool check_scramble_323(const unsigned char *reply, const char *message, - unsigned long *salt); - void get_salt_from_password_323(unsigned long *res, const char *password); - void make_password_from_salt_323(char *to, const unsigned long *salt); --void make_scrambled_password(char *to, const char *password); - void scramble(char *to, const char *message, const char *password); - my_bool check_scramble(const unsigned char *reply, const char *message, - const unsigned char *hash_stage2); -diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h ---- mysql-5.5.28/include/my_sys.h.p8 2012-12-06 14:09:15.218170154 +0100 -+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:16:14.598520859 +0100 -@@ -218,6 +218,7 @@ extern uint my_large_page_size; - - /* charsets */ - #define MY_ALL_CHARSETS_SIZE 2048 -+#define default_charset_info mysql_default_charset_info /* namespace sanity */ - extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info; - extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE]; - extern CHARSET_INFO compiled_charsets[]; -@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha - extern uint get_collation_number(const char *name); - extern const char *get_charset_name(uint cs_number); - -+#define get_charset mysql_get_charset /* namespace sanity */ -+#define get_charset_by_csname mysql_get_charset_by_csname -+ - extern CHARSET_INFO *get_charset(uint cs_number, myf flags); - extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags); - extern CHARSET_INFO *get_charset_by_csname(const char *cs_name, -diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c ---- mysql-5.5.28/sql/password.c.p8 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/password.c 2012-12-06 14:16:14.599520860 +0100 -@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char - - - /* -- Wrapper around my_make_scrambled_password_323() to maintain client lib ABI -- compatibility. -- In server code usage of my_make_scrambled_password_323() is preferred to -- avoid strlen(). -- SYNOPSIS -- make_scrambled_password_323() -- to OUT store scrambled password here -- password IN NULL-terminated string with user-supplied password --*/ -- --void make_scrambled_password_323(char *to, const char *password) --{ -- my_make_scrambled_password_323(to, password, strlen(password)); --} -- -- --/* - Scramble string with password. - Used in pre 4.1 authentication phase. - SYNOPSIS -@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to - - - /* -- Wrapper around my_make_scrambled_password() to maintain client lib ABI -- compatibility. -- In server code usage of my_make_scrambled_password() is preferred to -- avoid strlen(). -- SYNOPSIS -- make_scrambled_password() -- buf OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string -- password IN NULL-terminated password string --*/ -- --void make_scrambled_password(char *to, const char *password) --{ -- my_make_scrambled_password(to, password, strlen(password)); --} -- -- --/* - Produce an obscure octet sequence from password and random - string, recieved from the server. This sequence corresponds to the - password, but password can not be easily restored from it. The sequence diff --git a/community-mysql-errno.patch b/community-mysql-errno.patch deleted file mode 100644 index ce9d7a1..0000000 --- a/community-mysql-errno.patch +++ /dev/null @@ -1,21 +0,0 @@ -"extern int errno" is just a really bad idea. - - -diff -up mysql-5.5.28/include/my_sys.h.p1 mysql-5.5.28/include/my_sys.h ---- mysql-5.5.28/include/my_sys.h.p1 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/my_sys.h 2012-12-06 14:09:15.218170154 +0100 -@@ -197,13 +197,8 @@ extern void my_large_free(uchar *ptr); - #define my_afree(PTR) my_free(PTR) - #endif /* HAVE_ALLOCA */ - --#ifndef errno /* did we already get it? */ --#ifdef HAVE_ERRNO_AS_DEFINE - #include /* errno is a define */ --#else --extern int errno; /* declare errno */ --#endif --#endif /* #ifndef errno */ -+ - extern char *home_dir; /* Home directory for user */ - extern const char *my_progname; /* program-name (printed in errors) */ - extern char curr_dir[]; /* Current directory for user */ diff --git a/community-mysql-expired-certs.patch b/community-mysql-expired-certs.patch index acd3a78..2418bea 100644 --- a/community-mysql-expired-certs.patch +++ b/community-mysql-expired-certs.patch @@ -553,3 +553,19 @@ diff -Naur mysql-5.1.50.orig/mysql-test/std_data/server8k-key.pem mysql-5.1.50/m +nlUJasA2psbqSBJ5OJ5zAkEA2UxoMju54hASjT54Z92IzraVw4Vo8CYwOcw5fr7z ++m5xg1mmWdLBclmZ+WjARzDuTHIW6u/WCxNGg42AykWzfw== -----END RSA PRIVATE KEY----- +diff -u mysql-5.6.10/mysql-test/r/ssl.result.orig mysql-5.6.10/mysql-test/r/ssl.result +--- mysql-5.6.10/mysql-test/r/ssl.result.orig 2013-03-04 09:50:24.227923768 +0100 ++++ mysql-5.6.10/mysql-test/r/ssl.result 2013-03-04 09:53:28.449873521 +0100 +@@ -3,10 +3,10 @@ + Ssl_cipher DHE-RSA-AES256-SHA + SHOW STATUS LIKE 'Ssl_server_not_before'; + Variable_name Value +-Ssl_server_not_before Jan 29 11:56:49 2010 GMT ++Ssl_server_not_before Feb 20 02:55:06 2010 GMT + SHOW STATUS LIKE 'Ssl_server_not_after'; + Variable_name Value +-Ssl_server_not_after Jan 28 11:56:49 2015 GMT ++Ssl_server_not_after Sep 3 02:55:06 2030 GMT + drop table if exists t1,t2,t3,t4; + CREATE TABLE t1 ( + Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch index f76237d..b5f5220 100644 --- a/community-mysql-logrotate.patch +++ b/community-mysql-logrotate.patch @@ -14,27 +14,27 @@ Adjust the mysql-log-rotate script in several ways: See discussions at RH bugs 799735, 547007 -diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/support-files/mysql-log-rotate.sh ---- mysql-5.5.22.orig/support-files/mysql-log-rotate.sh 2012-03-02 14:44:46.000000000 -0500 -+++ mysql-5.5.22/support-files/mysql-log-rotate.sh 2012-03-23 22:33:29.092043705 -0400 -@@ -3,7 +3,7 @@ - # in the [safe_mysqld] section as follows: +diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/support-files/mysql-log-rotate.sh +--- mysql-5.6.10/support-files/mysql-log-rotate.sh.orig 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/support-files/mysql-log-rotate.sh 2013-02-19 15:27:28.448443077 +0100 +@@ -4,7 +4,7 @@ + # follows: # - # [safe_mysqld] --# err-log=@localstatedir@/mysqld.log -+# err-log=/var/log/mysqld.log + # [mysqld] +-# log-error=@localstatedir@/mysqld.log ++# log-error=/var/log/mysqld.log # - # If the root user has a password you have to create a - # /root/.my.cnf configuration file with the following -@@ -18,19 +18,21 @@ - # ATTENTION: This /root/.my.cnf should be readable ONLY - # for root ! + # In case the root user has a password, then you + # have to create a /root/.my.cnf configuration file +@@ -19,19 +19,21 @@ + # ATTENTION: The /root/.my.cnf file should be readable + # _ONLY_ by root ! -@localstatedir@/mysqld.log { - # create 600 mysql mysql - notifempty -- daily -- rotate 3 +- daily +- rotate 5 - missingok - compress - postrotate @@ -51,7 +51,7 @@ diff -Naur mysql-5.5.22.orig/support-files/mysql-log-rotate.sh mysql-5.5.22/supp +#/var/log/mysqld.log { +# create 640 mysql mysql +# notifempty -+# daily ++# daily +# rotate 3 +# missingok +# compress diff --git a/community-mysql-major.patch b/community-mysql-major.patch deleted file mode 100644 index 1b1071e..0000000 --- a/community-mysql-major.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up mysql-5.5.30/cmake/mysql_version.cmake.major mysql-5.5.30/cmake/mysql_version.cmake ---- mysql-5.5.30/cmake/mysql_version.cmake.major 2013-03-11 18:32:45.326473598 +0100 -+++ mysql-5.5.30/cmake/mysql_version.cmake 2013-03-11 18:33:10.634472902 +0100 -@@ -17,7 +17,7 @@ - # Global constants, only to be changed between major releases. - # - --SET(SHARED_LIB_MAJOR_VERSION "18") -+SET(SHARED_LIB_MAJOR_VERSION "1018") - SET(PROTOCOL_VERSION "10") - SET(DOT_FRM_VERSION "6") - diff --git a/community-mysql-netdevname.patch b/community-mysql-netdevname.patch index af17f13..1cdd9f7 100644 --- a/community-mysql-netdevname.patch +++ b/community-mysql-netdevname.patch @@ -1,7 +1,7 @@ -diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_gethwaddr.c ---- mysql-5.5.15/mysys/my_gethwaddr.c.netdevname 2011-07-13 21:09:02.000000000 +0200 -+++ mysql-5.5.15/mysys/my_gethwaddr.c 2011-11-01 12:32:35.356119715 +0100 -@@ -68,28 +68,47 @@ err: +diff -up mysql-5.6.10/mysys/my_gethwaddr.c.orig mysql-5.6.10/mysys/my_gethwaddr.c +--- mysql-5.6.10/mysys/my_gethwaddr.c.orig 2013-01-22 17:54:49.000000000 +0100 ++++ mysql-5.6.10/mysys/my_gethwaddr.c 2013-02-19 15:19:48.632960900 +0100 +@@ -68,27 +68,47 @@ err: #include #include @@ -12,14 +12,14 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth int fd, res= 1; struct ifreq ifr; char zero_array[ETHER_ADDR_LEN] = {0}; -+ struct ifconf ifc; ++ struct ifconf ifc; + struct ifreq ifs[MAX_IFS], *ifri, *ifend; fd = socket(AF_INET, SOCK_DGRAM, 0); if (fd < 0) goto err; -- bzero(&ifr, sizeof(ifr)); +- memset(&ifr, 0, sizeof(ifr)); - strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1); + ifc.ifc_len = sizeof(ifs); + ifc.ifc_req = ifs; @@ -28,10 +28,10 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth + close(fd); + goto err; + } -+ -+ memcpy(to, zero_array, ETHER_ADDR_LEN); - do ++ memcpy(to, zero_array, ETHER_ADDR_LEN); ++ + ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq)); + for (ifri = ifc.ifc_req; ifri < ifend; ifri++) { @@ -40,9 +40,9 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth { - memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); - res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1; -+ bzero(&ifr, sizeof(ifr)); ++ memset(&ifr, 0, sizeof(ifr)); + strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name)); -+ ++ + /* Get HW address */ + if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) + { @@ -52,8 +52,7 @@ diff -up mysql-5.5.15/mysys/my_gethwaddr.c.netdevname mysql-5.5.15/mysys/my_geth + } } - } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6'); -- + } + close(fd); err: - return res; diff --git a/community-mysql-plugin-bool.patch b/community-mysql-plugin-bool.patch deleted file mode 100644 index abea580..0000000 --- a/community-mysql-plugin-bool.patch +++ /dev/null @@ -1,42 +0,0 @@ -Fix plugin boolean variables to receive the value "1", not "-1", when they -are set to 1. Aside from being bizarre, the existing behavior is unportable: -machines where char is unsigned print "255" instead. Filed upstream at -http://bugs.mysql.com/bug.php?id=59905 - - -diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result ---- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_master_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 -@@ -45,7 +45,7 @@ set session rpl_semi_sync_master_enabled - ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable and should be set with SET GLOBAL - select @@global.rpl_semi_sync_master_enabled; - @@global.rpl_semi_sync_master_enabled ---1 -+1 - select @@session.rpl_semi_sync_master_enabled; - ERROR HY000: Variable 'rpl_semi_sync_master_enabled' is a GLOBAL variable - show global variables like 'rpl_semi_sync_master_enabled'; -diff -up mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result ---- mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result.p10 2012-08-29 10:50:47.000000000 +0200 -+++ mysql-5.5.28/mysql-test/suite/sys_vars/r/rpl_semi_sync_slave_enabled_basic.result 2012-12-06 14:20:53.078755855 +0100 -@@ -45,7 +45,7 @@ set session rpl_semi_sync_slave_enabled= - ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable and should be set with SET GLOBAL - select @@global.rpl_semi_sync_slave_enabled; - @@global.rpl_semi_sync_slave_enabled ---1 -+1 - select @@session.rpl_semi_sync_slave_enabled; - ERROR HY000: Variable 'rpl_semi_sync_slave_enabled' is a GLOBAL variable - show global variables like 'rpl_semi_sync_slave_enabled'; -diff -up mysql-5.5.28/sql/sql_plugin.cc.p10 mysql-5.5.28/sql/sql_plugin.cc ---- mysql-5.5.28/sql/sql_plugin.cc.p10 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/sql_plugin.cc 2012-12-06 14:20:53.078755855 +0100 -@@ -2094,7 +2094,7 @@ static int check_func_bool(THD *thd, str - goto err; - result= (int) tmp; - } -- *(my_bool *) save= -result; -+ *(my_bool *) save= result ? true : false; - return 0; - err: - return 1; diff --git a/community-mysql-plugin-test.patch b/community-mysql-plugin-test.patch deleted file mode 100644 index 6d6093d..0000000 --- a/community-mysql-plugin-test.patch +++ /dev/null @@ -1,96 +0,0 @@ -mysql_plugin.test fails when run in mysql-test RPM, though the build-time -regression test is OK. This patch is from the pre-existing upstream bug -report, except we also fix the part that tries to scribble on the -read-only-to-us plugin directory. - -rhbz #789530, upstream at http://bugs.mysql.com/bug.php?id=62907 - - -diff -up mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt ---- mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt.p17 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysql-test/t/mysql_plugin-master.opt 2013-04-19 13:38:23.761741532 +0200 -@@ -1 +1 @@ ----plugin-dir=$DAEMONEXAMPLE_DIR -+--plugin-dir=$MYSQLTEST_VARDIR/plugin -diff -up mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 mysql-5.5.31/mysql-test/t/mysql_plugin.test ---- mysql-5.5.31/mysql-test/t/mysql_plugin.test.p17 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysql-test/t/mysql_plugin.test 2013-04-19 13:38:25.606742145 +0200 -@@ -25,8 +25,10 @@ - # Add the datadir, basedir, plugin_dir to the bootstrap command - let $MYSQLD_DATADIR= `select @@datadir`; - let $MYSQL_BASEDIR= `select @@basedir`; -+let $MYSQLD_TMP_BASEDIR= $MYSQLTEST_VARDIR/tmp; - let $MYSQL_ERRMSG_BASEDIR=`select @@lc_messages_dir`; - let $PLUGIN_DIR=`select @@plugin_dir`; -+let $PLUGIN_BASEDIR=$DAEMONEXAMPLE_DIR; - - --disable_abort_on_error - -@@ -51,10 +53,11 @@ use File::Basename; - { - print FILE "let \$DAEMONEXAMPLE_DIR= $not_found;\n"; - } -- if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) -- { -- print FILE "let \$PLUGIN_DIR= $not_found;\n"; -- } -+# This test doesn't work because $ENV{PLUGIN_DIR} is empty -+# if ((!-e $plugindir_ini) || (!-r $plugindir_ini)) -+# { -+# print FILE "let \$PLUGIN_DIR= $not_found;\n"; -+# } - close FILE; - EOF - -@@ -66,10 +69,14 @@ remove_file $MYSQL_TMP_DIR/mysqld.inc; - # mysql version, so errmsg.sys will be copied to "basedir/share", we create - # and remove this structure. - ----mkdir $MYSQLD_BASEDIR/share ----mkdir $MYSQLD_BASEDIR/share/mysql ----copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/errmsg.sys ----copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_BASEDIR/share/mysql/errmsg.sys -+--mkdir $MYSQLD_TMP_BASEDIR/share -+--mkdir $MYSQLD_TMP_BASEDIR/share/community-mysql -+--mkdir $PLUGIN_DIR -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--copy_file $MYSQL_ERRMSG_BASEDIR/english/errmsg.sys $MYSQLD_TMP_BASEDIR/share/community-mysql/errmsg.sys -+--copy_file $PLUGIN_BASEDIR/libdaemon_example.so $PLUGIN_DIR/libdaemon_example.so -+--copy_file $PLUGIN_BASEDIR/daemon_example.ini $PLUGIN_DIR/daemon_example.ini -+ - - # The mysql_plugin tool now accepts --my-print-defaults which points to the - # executable my_print_defaults.exe we can get this path from the variable -@@ -100,7 +107,7 @@ if ($PLUGIN_DIR == '') - - # Build client command for reuse. - --let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; -+let $MYSQL_PLUGIN_CMD= $MYSQL_PLUGIN --datadir=$MYSQLD_DATADIR --basedir=$MYSQLD_TMP_BASEDIR --plugin-dir=$PLUGIN_DIR --mysqld=$MYSQLD_BASEDIR --my-print-defaults=$MYSQL_MY_PRINT_DEFAULTS_BASEDIR; - - --echo # - --echo # Ensure the plugin isn't loaded. -@@ -184,7 +191,7 @@ SELECT * FROM mysql.plugin WHERE dl like - # we must copy the example daemon to a new location renaming it. - - let $DAEMON_RELOAD = lib$DAEMONEXAMPLE; ----copy_file $PLUGIN_DIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD -+--copy_file $PLUGIN_BASEDIR/$DAEMONEXAMPLE $PLUGIN_DIR/$DAEMON_RELOAD - --copy_file include/libdaemon_example.ini $PLUGIN_DIR/libdaemon_example.ini - - # Now reload it and see that it is a different name. -@@ -361,8 +368,11 @@ replace_result $MYSQL_PLUGIN mysql_plugi - --remove_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect - - # Cleanup the share folder in the binary path. ----remove_file $MYSQLD_BASEDIR/share/errmsg.sys ----rmdir $MYSQLD_BASEDIR/share/mysql ----rmdir $MYSQLD_BASEDIR/share -+--remove_file $PLUGIN_DIR/daemon_example.ini -+--remove_file $PLUGIN_DIR/libdaemon_example.so -+--rmdir $PLUGIN_DIR -+--remove_file $MYSQLD_TMP_BASEDIR/share/errmsg.sys -+--rmdir $MYSQLD_TMP_BASEDIR/share/community-mysql -+--rmdir $MYSQLD_TMP_BASEDIR/share - - --enable_abort_on_error diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch index 9e4461d..ae8c231 100644 --- a/community-mysql-pluginerrmsg.patch +++ b/community-mysql-pluginerrmsg.patch @@ -12,9 +12,9 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 -diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h ---- mysql-5.5.33/include/mysql.h.p30 2013-07-15 14:01:50.000000000 +0200 -+++ mysql-5.5.33/include/mysql.h 2013-08-20 17:26:56.745334059 +0200 +diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h +--- mysql-5.6.14/include/mysql.h.p34 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/include/mysql.h 2013-10-09 15:33:04.523541478 +0200 @@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; /* backward compatibility define - to be removed eventually */ @@ -23,19 +23,19 @@ diff -up mysql-5.5.33/include/mysql.h.p30 mysql-5.5.33/include/mysql.h typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ -diff -up mysql-5.5.33/mysql-test/r/plugin.result.p30 mysql-5.5.33/mysql-test/r/plugin.result ---- mysql-5.5.33/mysql-test/r/plugin.result.p30 2013-07-15 14:01:49.000000000 +0200 -+++ mysql-5.5.33/mysql-test/r/plugin.result 2013-08-20 17:26:56.746334059 +0200 -@@ -143,3 +143,5 @@ SELECT @@SESSION.example_double_thdvar; +diff -up mysql-5.6.14/mysql-test/r/plugin.result.p34 mysql-5.6.14/mysql-test/r/plugin.result +--- mysql-5.6.14/mysql-test/r/plugin.result.p34 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/r/plugin.result 2013-10-09 15:33:04.523541478 +0200 +@@ -162,3 +162,5 @@ SELECT @@SESSION.example_double_thdvar; @@SESSION.example_double_thdvar 1000.500000 UNINSTALL PLUGIN example; +UNINSTALL PLUGIN MyISAM; +ERROR HY000: Built-in plugins cannot be deleted -diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plugin.test ---- mysql-5.5.33/mysql-test/t/plugin.test.p30 2013-07-15 14:01:49.000000000 +0200 -+++ mysql-5.5.33/mysql-test/t/plugin.test 2013-08-20 17:26:56.746334059 +0200 -@@ -137,3 +137,10 @@ SET SESSION example_double_thdvar = 1000 +diff -up mysql-5.6.14/mysql-test/t/plugin.test.p34 mysql-5.6.14/mysql-test/t/plugin.test +--- mysql-5.6.14/mysql-test/t/plugin.test.p34 2013-09-10 09:38:27.000000000 +0200 ++++ mysql-5.6.14/mysql-test/t/plugin.test 2013-10-09 15:33:04.524541479 +0200 +@@ -160,3 +160,10 @@ SET SESSION example_double_thdvar = 1000 SELECT @@SESSION.example_double_thdvar; UNINSTALL PLUGIN example; @@ -46,10 +46,10 @@ diff -up mysql-5.5.33/mysql-test/t/plugin.test.p30 mysql-5.5.33/mysql-test/t/plu +--error ER_PLUGIN_DELETE_BUILTIN +UNINSTALL PLUGIN MyISAM; + -diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errmsg-utf8.txt ---- mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 2013-07-15 14:01:50.000000000 +0200 -+++ mysql-5.5.33/sql/share/errmsg-utf8.txt 2013-08-20 17:26:56.750334057 +0200 -@@ -6161,7 +6161,7 @@ WARN_NO_MASTER_INFO +diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errmsg-utf8.txt +--- mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 2013-09-10 09:38:26.000000000 +0200 ++++ mysql-5.6.14/sql/share/errmsg-utf8.txt 2013-10-09 15:33:04.525541480 +0200 +@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO WARN_OPTION_IGNORED eng "<%-.64s> option ignored" ger "Option <%-.64s> ignoriert" @@ -58,14 +58,14 @@ diff -up mysql-5.5.33/sql/share/errmsg-utf8.txt.p30 mysql-5.5.33/sql/share/errms eng "Built-in plugins cannot be deleted" ger "Eingebaute Plugins können nicht gelöscht werden" WARN_PLUGIN_BUSY -diff -up mysql-5.5.33/sql/sql_plugin.cc.p30 mysql-5.5.33/sql/sql_plugin.cc ---- mysql-5.5.33/sql/sql_plugin.cc.p30 2013-08-20 17:26:56.640334104 +0200 -+++ mysql-5.5.33/sql/sql_plugin.cc 2013-08-20 17:26:56.752334057 +0200 -@@ -1909,9 +1909,7 @@ bool mysql_uninstall_plugin(THD *thd, co +diff -up mysql-5.6.14/sql/sql_plugin.cc.p34 mysql-5.6.14/sql/sql_plugin.cc +--- mysql-5.6.14/sql/sql_plugin.cc.p34 2013-10-09 15:33:04.527541481 +0200 ++++ mysql-5.6.14/sql/sql_plugin.cc 2013-10-09 15:34:30.760598323 +0200 +@@ -1979,9 +1979,7 @@ bool mysql_uninstall_plugin(THD *thd, co } if (!plugin->plugin_dl) { -- push_warning(thd, MYSQL_ERROR::WARN_LEVEL_WARN, +- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, - WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN)); - my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str); + my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0)); diff --git a/community-mysql-stack-guard.patch b/community-mysql-stack-guard.patch deleted file mode 100644 index c01c1a7..0000000 --- a/community-mysql-stack-guard.patch +++ /dev/null @@ -1,139 +0,0 @@ -mysql is not accounting for the "guard page" when setting thread stack size -requests. This is fatal on PPC systems, which may use guard pages as large -as 64K. This patch also documents the IA64 situation a bit better. - -Note: there are quite a few other setstacksize calls besides the two in -mysqld.cc; is it important to fix any of the others? - -Filed upstream at http://bugs.mysql.com/bug.php?id=35019 - - -diff -up mysql-5.5.28/sql/mysqld.cc.p5 mysql-5.5.28/sql/mysqld.cc ---- mysql-5.5.28/sql/mysqld.cc.p5 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/mysqld.cc 2012-12-06 14:13:59.765407494 +0100 -@@ -2599,6 +2599,70 @@ static void init_signals(void) - } - - -+/* pthread_attr_setstacksize without so much platform-dependency */ -+/* returns the actual stack size if possible */ -+static size_t my_setstacksize(pthread_attr_t *attr, size_t stacksize) -+{ -+ size_t guard_size = 0; -+ -+#if defined(__ia64__) || defined(__ia64) -+ /* -+ On IA64, half of the requested stack size is used for "normal stack" -+ and half for "register stack". The space measured by check_stack_overrun -+ is the "normal stack", so double the request to make sure we have the -+ caller-expected amount of normal stack. -+ -+ NOTE: there is no guarantee that the register stack can't grow faster -+ than normal stack, so it's very unclear that we won't dump core due to -+ stack overrun despite check_stack_overrun's efforts. Experimentation -+ shows that in the execution_constants test, the register stack grows -+ less than half as fast as normal stack, but perhaps other scenarios are -+ less forgiving. If it turns out that more space is needed for the -+ register stack, that could be forced (rather inefficiently) by using a -+ multiplier higher than 2 here. -+ */ -+ stacksize *= 2; -+#endif -+ -+ /* -+ On many machines, the "guard space" is subtracted from the requested -+ stack size, and that space is quite large on some platforms. So add -+ it to our request, if we can find out what it is. -+ -+ FIXME: autoconfiscate use of pthread_attr_getguardsize -+ */ -+ if (pthread_attr_getguardsize(attr, &guard_size)) -+ guard_size = 0; /* if can't find it out, treat as 0 */ -+ -+ pthread_attr_setstacksize(attr, stacksize + guard_size); -+ -+ /* Retrieve actual stack size if possible */ -+#ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE -+ { -+ size_t real_stack_size= 0; -+ /* We must ignore real_stack_size = 0 as Solaris 2.9 can return 0 here */ -+ if (pthread_attr_getstacksize(attr, &real_stack_size) == 0 && -+ real_stack_size > guard_size) -+ { -+ real_stack_size -= guard_size; -+ if (real_stack_size < stacksize) -+ { -+ if (global_system_variables.log_warnings) -+ sql_print_warning("Asked for %ld thread stack, but got %ld", -+ (long) stacksize, (long) real_stack_size); -+ stacksize= real_stack_size; -+ } -+ } -+ } -+#endif -+ -+#if defined(__ia64__) || defined(__ia64) -+ stacksize /= 2; -+#endif -+ return stacksize; -+} -+ -+ - static void start_signal_handler(void) - { - int error; -@@ -2609,15 +2673,7 @@ static void start_signal_handler(void) - #if !defined(HAVE_DEC_3_2_THREADS) - pthread_attr_setscope(&thr_attr,PTHREAD_SCOPE_SYSTEM); - (void) pthread_attr_setdetachstate(&thr_attr,PTHREAD_CREATE_DETACHED); --#if defined(__ia64__) || defined(__ia64) -- /* -- Peculiar things with ia64 platforms - it seems we only have half the -- stack size in reality, so we have to double it here -- */ -- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size*2); --#else -- pthread_attr_setstacksize(&thr_attr,my_thread_stack_size); --#endif -+ (void) my_setstacksize(&thr_attr,my_thread_stack_size); - #endif - - mysql_mutex_lock(&LOCK_thread_count); -@@ -4398,36 +4454,8 @@ int mysqld_main(int argc, char **argv) - unireg_abort(1); // Will do exit - - init_signals(); --#if defined(__ia64__) || defined(__ia64) -- /* -- Peculiar things with ia64 platforms - it seems we only have half the -- stack size in reality, so we have to double it here -- */ -- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size*2); --#else -- pthread_attr_setstacksize(&connection_attrib,my_thread_stack_size); --#endif - #ifdef HAVE_PTHREAD_ATTR_GETSTACKSIZE -- { -- /* Retrieve used stack size; Needed for checking stack overflows */ -- size_t stack_size= 0; -- pthread_attr_getstacksize(&connection_attrib, &stack_size); --#if defined(__ia64__) || defined(__ia64) -- stack_size/= 2; --#endif -- /* We must check if stack_size = 0 as Solaris 2.9 can return 0 here */ -- if (stack_size && stack_size < my_thread_stack_size) -- { -- if (global_system_variables.log_warnings) -- sql_print_warning("Asked for %lu thread stack, but got %ld", -- my_thread_stack_size, (long) stack_size); --#if defined(__ia64__) || defined(__ia64) -- my_thread_stack_size= stack_size*2; --#else -- my_thread_stack_size= stack_size; --#endif -- } -- } -+ my_thread_stack_size = my_setstacksize(&connection_attrib,my_thread_stack_size); - #endif - - (void) thr_setconcurrency(concurrency); // 10 by default diff --git a/community-mysql-string-overflow.patch b/community-mysql-string-overflow.patch index eaa40f6..46e5db3 100644 --- a/community-mysql-string-overflow.patch +++ b/community-mysql-string-overflow.patch @@ -7,28 +7,27 @@ Filed upstream at http://bugs.mysql.com/bug.php?id=64631 Error: BUFFER_SIZE_WARNING: /builddir/build/BUILD/mysql-5.1.61/sql/sql_prepare.cc:2749: buffer_size_warning: Calling strncpy with a maximum size argument of 512 bytes on destination array "this->stmt->last_error" of size 512 bytes might leave the destination string unterminated. -diff -up mysql-5.5.28/sql/sql_prepare.cc.p20 mysql-5.5.28/sql/sql_prepare.cc ---- mysql-5.5.28/sql/sql_prepare.cc.p20 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/sql_prepare.cc 2012-12-06 14:27:28.647087401 +0100 -@@ -2879,7 +2879,7 @@ void mysql_stmt_get_longdata(THD *thd, c +diff -up mysql-5.6.10/sql/sql_prepare.cc.orig mysql-5.6.10/sql/sql_prepare.cc +--- mysql-5.6.10/sql/sql_prepare.cc.orig 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/sql/sql_prepare.cc 2013-02-19 15:50:53.257150632 +0100 +@@ -2956,7 +2956,7 @@ void mysql_stmt_get_longdata(THD *thd, c { stmt->state= Query_arena::STMT_ERROR; - stmt->last_errno= thd->stmt_da->sql_errno(); -- strncpy(stmt->last_error, thd->stmt_da->message(), MYSQL_ERRMSG_SIZE); -+ strncpy(stmt->last_error, thd->stmt_da->message(), sizeof(stmt->last_error)-1); + stmt->last_errno= thd->get_stmt_da()->sql_errno(); +- strncpy(stmt->last_error, thd->get_stmt_da()->message(), MYSQL_ERRMSG_SIZE); ++ strncpy(stmt->last_error, thd->get_stmt_da()->message(), sizeof(stmt->last_error)-1); } - thd->stmt_da= save_stmt_da; - thd->warning_info= save_warinig_info; + thd->set_stmt_da(save_stmt_da); Error: STRING_OVERFLOW: /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. /builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. -diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc ---- mysql-5.5.28/sql/sql_trigger.cc.p20 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql/sql_trigger.cc 2012-12-06 14:27:28.648087398 +0100 -@@ -2260,7 +2260,7 @@ void Table_triggers_list::mark_fields_us +diff -up mysql-5.6.10/sql/sql_trigger.cc.orig mysql-5.6.10/sql/sql_trigger.cc +--- mysql-5.6.10/sql/sql_trigger.cc.orig 2013-01-22 17:54:50.000000000 +0100 ++++ mysql-5.6.10/sql/sql_trigger.cc 2013-02-19 16:01:10.605885117 +0100 +@@ -2303,7 +2303,7 @@ void Table_triggers_list::mark_fields_us void Table_triggers_list::set_parse_error_message(char *error_message) { m_has_unparseable_trigger= true; @@ -37,21 +36,3 @@ diff -up mysql-5.5.28/sql/sql_trigger.cc.p20 mysql-5.5.28/sql/sql_trigger.cc } - - -Error: STRING_OVERFLOW: -/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: fixed_size_dest: You might overrun the 512 byte fixed-size string "name2" by copying "name" without checking the length. -/builddir/build/BUILD/mysql-5.1.61/storage/innodb_plugin/handler/ha_innodb.cc:6544: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -diff -up mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 mysql-5.5.28/storage/innobase/handler/ha_innodb.cc ---- mysql-5.5.28/storage/innobase/handler/ha_innodb.cc.p20 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/storage/innobase/handler/ha_innodb.cc 2012-12-06 14:27:28.653087416 +0100 -@@ -7054,7 +7054,7 @@ ha_innobase::create( - - ut_a(strlen(name) < sizeof(name2)); - -- strcpy(name2, name); -+ strncpy(name2, name, sizeof(name2)-1); - - normalize_table_name(norm_name, name2); - diff --git a/community-mysql-strmov.patch b/community-mysql-strmov.patch index 2a78619..1c44f55 100644 --- a/community-mysql-strmov.patch +++ b/community-mysql-strmov.patch @@ -13,11 +13,11 @@ of any real performance gain from optimizing these calls. So I'm keeping this patch. -diff -up mysql-5.5.28/include/m_string.h.p2 mysql-5.5.28/include/m_string.h ---- mysql-5.5.28/include/m_string.h.p2 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/m_string.h 2012-12-06 14:12:31.225333542 +0100 -@@ -77,15 +77,6 @@ extern "C" { - extern void *(*my_str_malloc)(size_t); +diff -up mysql-5.6.10/include/m_string.h.orig mysql-5.6.10/include/m_string.h +--- mysql-5.6.10/include/m_string.h.orig 2013-01-22 17:54:49.000000000 +0100 ++++ mysql-5.6.10/include/m_string.h 2013-02-19 14:12:58.866241727 +0100 +@@ -65,15 +65,6 @@ extern void *(*my_str_malloc)(size_t); + extern void *(*my_str_realloc)(void *, size_t); extern void (*my_str_free)(void *); -#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) diff --git a/community-mysql-tmpdir.patch b/community-mysql-tmpdir.patch index 2dc7293..c6842c4 100644 --- a/community-mysql-tmpdir.patch +++ b/community-mysql-tmpdir.patch @@ -10,10 +10,10 @@ RHBZ#962087 Upstream bug report: https://mariadb.atlassian.net/browse/MDEV-4165 MySQL bug report: http://bugs.mysql.com/bug.php?id=68338 -diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt ---- mysql-5.5.31/CMakeLists.txt.tmpdir 2013-06-03 15:14:51.149345233 +0200 -+++ mysql-5.5.31/CMakeLists.txt 2013-06-03 15:29:23.263489056 +0200 -@@ -253,6 +253,10 @@ IF(SYSCONFDIR) +diff -up mysql-5.6.14/CMakeLists.txt.tmpdir mysql-5.6.14/CMakeLists.txt +--- mysql-5.6.14/CMakeLists.txt.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/CMakeLists.txt 2013-10-09 14:49:14.115887439 +0200 +@@ -309,6 +309,10 @@ IF(SYSCONFDIR) SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") ENDIF() @@ -24,10 +24,10 @@ diff -up mysql-5.5.31/CMakeLists.txt.tmpdir mysql-5.5.31/CMakeLists.txt # Run platform tests INCLUDE(configure.cmake) -diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake ---- mysql-5.5.31/config.h.cmake.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/config.h.cmake 2013-06-03 15:14:51.149345233 +0200 -@@ -600,6 +600,7 @@ +diff -up mysql-5.6.14/config.h.cmake.tmpdir mysql-5.6.14/config.h.cmake +--- mysql-5.6.14/config.h.cmake.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/config.h.cmake 2013-10-09 14:49:14.115887439 +0200 +@@ -636,6 +636,7 @@ #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" #cmakedefine PLUGINDIR "@PLUGINDIR@" #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" @@ -35,13 +35,13 @@ diff -up mysql-5.5.31/config.h.cmake.tmpdir mysql-5.5.31/config.h.cmake #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" -diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global.h ---- mysql-5.5.31/include/my_global.h.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/include/my_global.h 2013-06-03 15:14:51.150345232 +0200 -@@ -1501,4 +1501,11 @@ static inline double rint(double x) - - #endif /* EMBEDDED_LIBRARY */ +diff -up mysql-5.6.14/include/my_global.h.tmpdir mysql-5.6.14/include/my_global.h +--- mysql-5.6.14/include/my_global.h.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/include/my_global.h 2013-10-09 14:49:14.116887439 +0200 +@@ -1219,3 +1219,10 @@ typedef struct + #endif + #endif // MY_GLOBAL_INCLUDED +/* + Define default tmpdir if not already set. +*/ @@ -49,11 +49,10 @@ diff -up mysql-5.5.31/include/my_global.h.tmpdir mysql-5.5.31/include/my_global. +#define DEFAULT_TMPDIR P_tmpdir +#endif + - #endif /* my_global_h */ -diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql.cc ---- mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/libmysqld/lib_sql.cc 2013-06-03 15:14:51.150345232 +0200 -@@ -558,7 +558,7 @@ int init_embedded_server(int argc, char +diff -up mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir mysql-5.6.14/libmysqld/lib_sql.cc +--- mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir 2013-09-10 09:38:26.000000000 +0200 ++++ mysql-5.6.14/libmysqld/lib_sql.cc 2013-10-09 14:49:14.116887439 +0200 +@@ -587,7 +587,7 @@ int init_embedded_server(int argc, char opt_mysql_tmpdir=getenv("TMP"); #endif if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) @@ -62,9 +61,9 @@ diff -up mysql-5.5.31/libmysqld/lib_sql.cc.tmpdir mysql-5.5.31/libmysqld/lib_sql init_ssl(); umask(((~my_umask) & 0666)); -diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c ---- mysql-5.5.31/mysys/mf_tempdir.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysys/mf_tempdir.c 2013-06-03 15:14:51.150345232 +0200 +diff -up mysql-5.6.14/mysys/mf_tempdir.c.tmpdir mysql-5.6.14/mysys/mf_tempdir.c +--- mysql-5.6.14/mysys/mf_tempdir.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/mysys/mf_tempdir.c 2013-10-09 14:49:14.116887439 +0200 @@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c pathlist=getenv("TMP"); #endif @@ -74,9 +73,9 @@ diff -up mysql-5.5.31/mysys/mf_tempdir.c.tmpdir mysql-5.5.31/mysys/mf_tempdir.c } do { -diff -up mysql-5.5.31/mysys/mf_tempfile.c.tmpdir mysql-5.5.31/mysys/mf_tempfile.c ---- mysql-5.5.31/mysys/mf_tempfile.c.tmpdir 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysys/mf_tempfile.c 2013-06-03 15:14:51.150345232 +0200 +diff -up mysql-5.6.14/mysys/mf_tempfile.c.tmpdir mysql-5.6.14/mysys/mf_tempfile.c +--- mysql-5.6.14/mysys/mf_tempfile.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 ++++ mysql-5.6.14/mysys/mf_tempfile.c 2013-10-09 14:49:14.117887440 +0200 @@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch sizeof(prefix_buff)-7),"XXXXXX") - prefix_buff); diff --git a/community-mysql-va-list.patch b/community-mysql-va-list.patch deleted file mode 100644 index 552457c..0000000 --- a/community-mysql-va-list.patch +++ /dev/null @@ -1,55 +0,0 @@ -Fix unportable usage associated with va_list arguments. Passing "0" to -a va_list argument only works if va_list is an integer or pointer type, -which is not required by the C spec, and is not true on ARM for instance. -Per bug #744707. - - -diff -up mysql-5.5.28/sql-common/client_plugin.c.p12 mysql-5.5.28/sql-common/client_plugin.c ---- mysql-5.5.28/sql-common/client_plugin.c.p12 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/sql-common/client_plugin.c 2012-12-06 14:22:54.494857607 +0100 -@@ -233,11 +233,13 @@ int mysql_client_plugin_init() - { - MYSQL mysql; - struct st_mysql_client_plugin **builtin; -+ va_list unused; - - if (initialized) - return 0; - - bzero(&mysql, sizeof(mysql)); /* dummy mysql for set_mysql_extended_error */ -+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ - - pthread_mutex_init(&LOCK_load_client_plugin, MY_MUTEX_INIT_SLOW); - init_alloc_root(&mem_root, 128, 128); -@@ -249,7 +251,7 @@ int mysql_client_plugin_init() - pthread_mutex_lock(&LOCK_load_client_plugin); - - for (builtin= mysql_client_builtins; *builtin; builtin++) -- add_plugin(&mysql, *builtin, 0, 0, 0); -+ add_plugin(&mysql, *builtin, 0, 0, unused); - - pthread_mutex_unlock(&LOCK_load_client_plugin); - -@@ -293,9 +295,13 @@ struct st_mysql_client_plugin * - mysql_client_register_plugin(MYSQL *mysql, - struct st_mysql_client_plugin *plugin) - { -+ va_list unused; -+ - if (is_not_initialized(mysql, plugin->name)) - return NULL; - -+ bzero(&unused, sizeof(unused)); /* suppress uninitialized-value warnings */ -+ - pthread_mutex_lock(&LOCK_load_client_plugin); - - /* make sure the plugin wasn't loaded meanwhile */ -@@ -307,7 +313,7 @@ mysql_client_register_plugin(MYSQL *mysq - plugin= NULL; - } - else -- plugin= add_plugin(mysql, plugin, 0, 0, 0); -+ plugin= add_plugin(mysql, plugin, 0, 0, unused); - - pthread_mutex_unlock(&LOCK_load_client_plugin); - return plugin; diff --git a/community-mysql-versioning.patch b/community-mysql-versioning.patch deleted file mode 100644 index 6374b6c..0000000 --- a/community-mysql-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 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/community-mysql.spec b/community-mysql.spec index 1e45798..dd0dc2e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,247 +1,256 @@ -Name: community-mysql -Version: 5.5.33 -Release: 2%{?dist} +# Regression tests may take a long time (many cores recommended), skip them by +# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining +# --nocheck is not possible (e.g. in koji build) +%{!?runselftest:%global runselftest 0} -Summary: MySQL client programs and shared libraries -Group: Applications/Databases -URL: http://www.mysql.com -# exceptions allow client libraries to be linked with most open source SW, -# 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 +# set to 1 to enable +%global with_shared_lib_major_hack 1 -# Regression tests take a long time, you can skip 'em with this -%{!?runselftest:%global runselftest 1} - -# Upstream has a mirror redirector for downloads, so the URL is hard to -# represent statically. You can get the tarball by following a link from -# http://dev.mysql.com/downloads/mysql/ -Source0: mysql-%{version}-nodocs.tar.xz -# The upstream tarball includes non-free documentation that we cannot ship. -# To remove the non-free documentation, run this script after downloading -# the tarball into the current directory: -# ./generate-tarball.sh $VERSION -Source2: generate-tarball.sh -Source3: my.cnf -Source5: my_config.h -Source6: README.mysql-docs -Source7: README.mysql-license -Source8: libmysql.version -Source9: mysql-embedded-check.c -Source10: MySQL.tmpfiles.d -Source11: mysqld.service -Source12: mysqld-prepare-db-dir -Source13: mysqld-wait-ready -Source14: rh-skipped-tests-base.list -Source15: rh-skipped-tests-arm.list -# Working around perl dependency checking bug in rpm FTTB. Remove later. -Source999: filter-requires-mysql.sh - -# Comments for these patches are in the patch files. -Patch1: community-mysql-errno.patch -Patch2: community-mysql-strmov.patch -Patch3: community-mysql-install-test.patch -Patch4: community-mysql-expired-certs.patch -Patch5: community-mysql-stack-guard.patch -Patch6: community-mysql-chain-certs.patch -Patch7: community-mysql-versioning.patch -Patch8: community-mysql-dubious-exports.patch -Patch10: community-mysql-plugin-bool.patch -Patch11: community-mysql-s390-tsc.patch -Patch14: community-mysql-va-list.patch -Patch15: community-mysql-netdevname.patch -Patch16: community-mysql-logrotate.patch -Patch17: community-mysql-plugin-test.patch -Patch18: community-mysql-cipherspec.patch -Patch19: community-mysql-file-contents.patch -Patch20: community-mysql-string-overflow.patch -Patch21: community-mysql-dh1024.patch -Patch22: community-mysql-major.patch -Patch23: community-mysql-sharedir.patch -Patch24: community-mysql-man-pages.patch -Patch25: community-mysql-tmpdir.patch -Patch26: community-mysql-cve-2013-1861.patch -Patch27: community-mysql-innodbwarn.patch -Patch28: community-mysql-covscan-signexpr.patch -Patch29: community-mysql-covscan-stroverflow.patch -Patch30: community-mysql-pluginerrmsg.patch - -BuildRequires: perl, readline-devel, openssl-devel -BuildRequires: cmake, ncurses-devel, zlib-devel, libaio-devel -BuildRequires: systemd, systemtap-sdt-devel -# make test requires time and ps -BuildRequires: time procps -# perl modules needed to run regression tests -BuildRequires: perl(Socket), perl(Time::HiRes) -BuildRequires: perl(Data::Dumper), perl(Test::More), perl(Env) - -Requires: grep, fileutils, bash -Requires: %{name}-common%{?_isa} = %{version}-%{release} -%{?systemd_requires: %systemd_requires} - -# mariadb is MySQL replacement that is used in Fedora as a default -# MySQL implementation -Conflicts: mariadb -Provides: mysql = %{version}-%{release} -Provides: mysql%{?_isa} = %{version}-%{release} - -# When rpm 4.9 is universal, this could be cleaned up: -%global __perl_requires %{SOURCE999} -%global __perllib_requires %{SOURCE999} +%global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +Name: community-mysql +Version: 5.6.14 +Release: 1%{?dist} +Summary: MySQL client programs and shared libraries +Group: Applications/Databases +URL: http://www.mysql.com + +# Exceptions allow client libraries to be linked with most open source SW, +# not only GPL code. See README.mysql-license +License: GPLv2 with exceptions and LGPLv2 and BSD + +# mysql.info from upstream tarball must be removed, create tarball by: +# wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz +# tar xvf mysql-%{version}.tar.gz +# rm mysql-%{version}/Docs/mysql.info +# tar cJvf mysql-%{version}-nodocs.tar.xz mysql-%{version} +Source0: mysql-%{version}-nodocs.tar.xz +Source2: generate-tarball.sh +Source3: my.cnf +Source4: mysql_config.sh +Source5: my_config.h +Source6: README.mysql-docs +Source7: README.mysql-license +Source9: mysql-embedded-check.c +Source10: mysql.tmpfiles.d +Source11: mysqld.service +Source12: mysqld-prepare-db-dir +Source13: mysqld-wait-ready +Source14: rh-skipped-tests-base.list +Source15: rh-skipped-tests-arm.list +# To track rpmlint warnings +Source17: mysql-5.6.10-rpmlintrc + +# Comments for these patches are in the patch files +Patch2: community-mysql-strmov.patch +Patch3: community-mysql-install-test.patch +Patch4: community-mysql-expired-certs.patch +Patch6: community-mysql-chain-certs.patch +Patch11: community-mysql-s390-tsc.patch +Patch15: community-mysql-netdevname.patch +Patch16: community-mysql-logrotate.patch +Patch18: community-mysql-5.6.11-cipherspec.patch +Patch19: community-mysql-file-contents.patch +Patch20: community-mysql-string-overflow.patch +Patch21: community-mysql-dh1024.patch +Patch22: community-mysql-sharedir.patch +Patch23: community-mysql-5.6.10-libmysql-version.patch +Patch24: community-mysql-man-pages.patch +Patch25: community-mysql-5.6.14-mysql-install.patch +Patch26: community-mysql-5.6.13-major.patch +Patch27: community-mysql-5.6.13-mtr-secure-file.patch +Patch28: community-mysql-5.6.13-truncate-file.patch +Patch29: community-mysql-tmpdir.patch +Patch30: community-mysql-cve-2013-1861.patch +Patch31: community-mysql-innodbwarn.patch +Patch32: community-mysql-covscan-signexpr.patch +Patch33: community-mysql-covscan-stroverflow.patch +Patch34: community-mysql-pluginerrmsg.patch + +BuildRequires: cmake +BuildRequires: dos2unix +BuildRequires: libaio-devel +BuildRequires: libedit-devel +BuildRequires: libevent-devel +BuildRequires: openssl-devel +BuildRequires: perl +BuildRequires: systemtap-sdt-devel +BuildRequires: zlib-devel +# Tests requires time and ps and some perl modules +BuildRequires: procps +BuildRequires: time +BuildRequires: perl(Env) +BuildRequires: perl(Exporter) +BuildRequires: perl(Fcntl) +BuildRequires: perl(File::Temp) +BuildRequires: perl(Getopt::Long) +BuildRequires: perl(IPC::Open3) +BuildRequires: perl(Socket) +BuildRequires: perl(Sys::Hostname) +BuildRequires: perl(Time::HiRes) +BuildRequires: systemd + +Requires: bash +Requires: grep +Requires: fileutils +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Provides: mysql = %{version}-%{release} +Provides: mysql%{?_isa} = %{version}-%{release} +Conflicts: mariadb +# mysql-cluster used to be built from this SRPM, but no more +Obsoletes: mysql-cluster < 5.1.44 + +# Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering +%global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) +%global __provides_exclude_from ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ + %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. -%package libs -Summary: The shared libraries required for MySQL clients -Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Provides: mysql-libs = %{version}-%{release} -Provides: mysql-libs%{?_isa} = %{version}-%{release} +%package libs +Summary: The shared libraries required for MySQL clients +Group: Applications/Databases +Requires: /sbin/ldconfig +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Provides: mysql-libs = %{version}-%{release} +Provides: mysql-libs%{?_isa} = %{version}-%{release} -%description libs +%description libs The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. -%package common -Summary: The shared files required for MySQL server and client -Group: Applications/Databases +%package common +Summary: The shared files required for MySQL server and client +Group: Applications/Databases -%description common -The mysql-common package provides the essential shared files for any +%description common +The mysql-common package provides the essential shared files for any MySQL program. You will need to install this package to use any other MySQL package. -%package server -Summary: The MySQL server and related files -Group: Applications/Databases -Requires: mysql%{?_isa} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: sh-utils -Requires(pre): /usr/sbin/useradd +%package server +Summary: The MySQL server and related files +Group: Applications/Databases + +# note: no version here = %{version}-%{release} +Requires: mysql%{?_isa} +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: sh-utils +Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d -Requires: systemd +Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd -Requires(preun): systemd +Requires(post): systemd +Requires(preun): systemd Requires(postun): 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 +Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support -Requires: perl-DBI, perl-DBD-MySQL -Conflicts: mariadb-server -Provides: mysql-server = %{version}-%{release} -Provides: mysql-server%{?_isa} = %{version}-%{release} +Requires: perl(DBI) +Requires: perl(DBD::mysql) +Provides: mysql-server = %{version}-%{release} +Provides: mysql-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-server -%description server +%description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a client/server implementation consisting of a server daemon (mysqld) and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. -%package devel -Summary: Files for development of MySQL applications -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: openssl-devel%{?_isa} -Conflicts: mariadb-devel +%package devel +Summary: Files for development of MySQL applications +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: openssl-devel%{?_isa} +Conflicts: mariadb-devel -%description devel +%description devel MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. -%package embedded -Summary: MySQL as an embeddable library -Group: Applications/Databases -Provides: mysql-embedded = %{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{version}-%{release} +%package embedded +Summary: MySQL as an embeddable library +Group: Applications/Databases +Provides: mysql-embedded = %{version}-%{release} +Provides: mysql-embedded%{?_isa} = %{version}-%{release} -%description embedded +%description embedded MySQL is a multi-user, multi-threaded SQL database server. This package contains a version of the MySQL server that can be embedded into a client application instead of running as a separate process. -%package embedded-devel -Summary: Development files for MySQL as an embeddable library -Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} -Conflicts: mariadb-embedded-devel +%package embedded-devel +Summary: Development files for MySQL as an embeddable library +Group: Applications/Databases +Requires: %{name}-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Conflicts: mariadb-embedded-devel -%description embedded-devel +%description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MySQL server. -%package bench -Summary: MySQL benchmark scripts and data -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Conflicts: mariadb-bench -Provides: mysql-bench = %{version}-%{release} -Provides: mysql-bench%{?_isa} = %{version}-%{release} +%package bench +Summary: MySQL benchmark scripts and data +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: mariadb-bench +Provides: mysql-bench = %{version}-%{release} +Provides: mysql-bench%{?_isa} = %{version}-%{release} -%description bench +%description bench MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. -%package test -Summary: The test suite distributed with MySQL -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-server%{?_isa} = %{version}-%{release} -Conflicts: mariadb-test -Provides: mysql-test = %{version}-%{release} -Provides: mysql-test%{?_isa} = %{version}-%{release} -Requires: perl(Socket), perl(Time::HiRes) -Requires: perl(Data::Dumper), perl(Test::More), perl(Env) +%package test +Summary: The test suite distributed with MySQL +Group: Applications/Databases +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-server%{?_isa} = %{version}-%{release} +Conflicts: mariadb-test +Provides: mysql-test = %{version}-%{release} +Provides: mysql-test%{?_isa} = %{version}-%{release} %description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. + %prep %setup -q -n mysql-%{version} - -%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 %patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch10 -p1 %patch11 -p1 -%patch14 -p1 %patch15 -p1 %patch16 -p1 -%patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 @@ -250,35 +259,37 @@ the MySQL sources. %patch23 -p1 %patch24 -p1 %patch25 -p1 +%if %{with_shared_lib_major_hack} %patch26 -p1 -%patch27 -p1 -%patch28 -p1 +%endif +%patch27 -p0 +%patch28 -p0 %patch29 -p1 %patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 +%patch34 -p1 -# workaround for upstream bug #56342 +# Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt -# upstream has fallen down badly on symbol versioning, do it ourselves -cp %{SOURCE8} libmysql/libmysql.version - -# generate a list of tests that fail, but are not disabled by upstream +# Generate a list of tests that fail, but are not disabled by upstream cat %{SOURCE14} > mysql-test/rh-skipped-tests.list -# disable some tests failing on ARM architectures +# Disable some tests failing on ARM architectures %ifarch %{arm} cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif %build - # fail quickly and obviously if user tries to build as root %if %runselftest - if [ x"`id -u`" = x0 ]; then - echo "mysql's regression tests fail if run as root." - echo "If you really need to build the RPM as root, use" - echo "--define='runselftest 0' to skip the regression tests." - 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" @@ -290,170 +301,135 @@ CFLAGS="$CFLAGS -fPIC" # gcc seems to have some bugs on sparc as of 4.4.1, back off optimization # submitted as bz #529298 %ifarch sparc sparcv9 sparc64 -CFLAGS=`echo $CFLAGS| sed -e "s|-O2|-O1|g" ` +CFLAGS=$(echo $CFLAGS| sed -e "s|-O2|-O1|g" ) %endif CXXFLAGS="$CFLAGS" export CFLAGS CXXFLAGS -# building with PIE +%if %{_hardened_build} LDFLAGS="$LDFLAGS -pie" export LDFLAGS +%endif + +# build out of source +mkdir build +pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. - -cmake . -DBUILD_CONFIG=mysql_release \ - -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/%{name} \ - -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 \ - -DTMPDIR=/var/tmp \ - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" +cmake .. -DBUILD_CONFIG=mysql_release \ + -DFEATURE_SET="community" \ + -DINSTALL_LAYOUT=RPM \ + -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ +%if 0%{?fedora} >= 20 + -DINSTALL_DOCDIR="share/doc/%{name}" \ + -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ +%endif + -DINSTALL_INCLUDEDIR=include/mysql \ + -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -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="/var/lib/mysql" \ + -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ + -DENABLED_LOCAL_INFILE=ON \ + -DENABLE_DTRACE=ON \ + -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_EDITLINE=system \ + -DWITH_LIBEVENT=system \ + -DWITH_SSL=system \ + -DWITH_ZLIB=system \ +%if %{_hardened_build} + -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" +%endif make %{?_smp_mflags} VERBOSE=1 -# regular build will make libmysqld.a but not libmysqld.so :-( +# Regular build will make libmysqld.a but not libmysqld.so :-( +# Upstream bug: http://bugs.mysql.com/68559 mkdir libmysqld/work -cd libmysqld/work +pushd libmysqld/work ar -x ../libmysqld.a -# these result in missing dependencies: (filed upstream as bug 59104) -rm -f sql_binlog.cc.o rpl_utility.cc.o -gcc $CFLAGS $LDFLAGS -shared -Wl,-soname,libmysqld.so.0 -o libmysqld.so.0.0.1 \ - *.o ../../probes_mysql.o \ - -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc -# this is to check that we built a complete library -cp %{SOURCE9} . -ln -s libmysqld.so.0.0.1 libmysqld.so.0 -gcc -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.0 +%{__cc} $CFLAGS $LDFLAGS -DEMBEDDED_LIBRARY -shared -Wl,-soname,libmysqld.so.18 -o libmysqld.so.18.1.0 \ + *.o \ + -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc +# This is to check that we built a complete library +cp -p %{SOURCE9} . +ln -s libmysqld.so.18.1.0 libmysqld.so.18 +%{__cc} -I../../../include -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.18 LD_LIBRARY_PATH=. ldd ./a.out -cd ../.. -# debuginfo extraction scripts fail to find source files in their real -# location -- satisfy them by copying these files into location, which -# is expected by scripts -for f in pars0grm.c pars0grm.y pars0lex.l lexyy.c ; do - cp -p "storage/innobase/pars/$f" "storage/innobase/$f" -done - -%check -%if %runselftest - # hack to let 32- and 64-bit tests run concurrently on same build machine - case `uname -m` in - ppc64 | ppc64p7 | s390x | x86_64 | sparc64 ) - MTR_BUILD_THREAD=7 - ;; - *) - MTR_BUILD_THREAD=11 - ;; - esac - export MTR_BUILD_THREAD - - make test VERBOSE=1 - - # The cmake build scripts don't provide any simple way to control the - # options for mysql-test-run, so ignore the make target and just call it - # manually. Nonstandard options chosen are: - # --force to continue tests after a failure - # no retries please - # test SSL with --ssl - # skip tests that are listed in rh-skipped-tests.list - # avoid redundant test runs with --binlog-format=mixed - # increase timeouts to prevent unwanted failures during mass rebuilds - ( - cd mysql-test - perl ./mysql-test-run.pl --force --retry=0 --ssl \ - --skip-test-list=rh-skipped-tests.list \ - --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 - # cmake build scripts will install the var cruft if left alone :-( - rm -rf var - ) -%endif %install -make DESTDIR=$RPM_BUILD_ROOT install +pushd build +make DESTDIR=%{buildroot} install # List the installed tree for RPM package maintenance purposes. -find $RPM_BUILD_ROOT -print | sed "s|^$RPM_BUILD_ROOT||" | sort > ROOTFILES +find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES -# multilib header hacks -# we only apply this to known Red Hat multilib arches, per bug #181335 -case `uname -i` in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) - mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_`uname -i`.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - ;; - arm* ) - mv $RPM_BUILD_ROOT%{_includedir}/mysql/my_config.h $RPM_BUILD_ROOT%{_includedir}/mysql/my_config_arm.h - install -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_includedir}/mysql/ - ;; - *) - ;; -esac # cmake generates some completely wacko references to -lprobes_mysql when # building with dtrace support. Haven't found where to shut that off, # so resort to this blunt instrument. While at it, let's not reference # libmysqlclient_r anymore either. sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ - ${RPM_BUILD_ROOT}%{_bindir}/mysql_config >mysql_config.tmp -cp -f mysql_config.tmp ${RPM_BUILD_ROOT}%{_bindir}/mysql_config -chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/mysql_config + %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp +cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config +chmod 0755 %{buildroot}%{_bindir}/mysql_config + +# Multilib header hacks +# We only apply this to known Red Hat multilib arches, per bug #181335 +case $(uname -i) in + i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) + mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h + install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ + mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} + install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config + ;; + arm* ) + mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h + install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ + mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} + install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config + ;; + *) + ;; +esac # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mysql-file-contents.patch) -install -m 644 Docs/INFO_SRC ${RPM_BUILD_ROOT}%{_libdir}/mysql/ -install -m 644 Docs/INFO_BIN ${RPM_BUILD_ROOT}%{_libdir}/mysql/ +install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -mkdir -p $RPM_BUILD_ROOT/var/log -touch $RPM_BUILD_ROOT/var/log/mysqld.log -mkdir -p $RPM_BUILD_ROOT/var/run/mysqld -install -m 0755 -d $RPM_BUILD_ROOT/var/lib/mysql +mkdir -p %{buildroot}/var/log +touch %{buildroot}/var/log/mysqld.log -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir} -install -m 0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/my.cnf +mkdir -p %{buildroot}/var/run/mysqld +install -p -m 0755 -d %{buildroot}/var/lib/mysql + +mkdir -p %{buildroot}/etc +install -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf # install systemd unit files and scripts for handling server startup -mkdir -p ${RPM_BUILD_ROOT}%{_unitdir} -install -m 644 %{SOURCE11} ${RPM_BUILD_ROOT}%{_unitdir}/ -install -m 755 %{SOURCE12} ${RPM_BUILD_ROOT}%{_libexecdir}/ -install -m 755 %{SOURCE13} ${RPM_BUILD_ROOT}%{_libexecdir}/ +mkdir -p %{buildroot}%{_unitdir} +install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ +install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ +install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d -install -m 0644 %{SOURCE10} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/%{name}.conf - -# Fix funny permissions that cmake build scripts apply to config files -chmod 644 ${RPM_BUILD_ROOT}%{_datadir}/mysql/config.*.ini - -# Fix scripts for multilib safety -mv ${RPM_BUILD_ROOT}%{_bindir}/mysql_config ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysql_config -ln -sf %{_libdir}/mysql/mysql_config ${RPM_BUILD_ROOT}%{_bindir}/mysql_config -mv ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug ${RPM_BUILD_ROOT}%{_libdir}/mysql/mysqlbug -ln -sf %{_libdir}/mysql/mysqlbug ${RPM_BUILD_ROOT}%{_bindir}/mysqlbug +mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d +install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf # Remove libmysqld.a, install libmysqld.so -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.a -install -m 0755 libmysqld/work/libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0.0.1 -ln -s libmysqld.so.0.0.1 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so.0 -ln -s libmysqld.so.0 ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqld.so +rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a +install -m 0755 libmysqld/work/libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18.1.0 +ln -s libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18 +ln -s libmysqld.so.18 %{buildroot}%{_libdir}/mysql/libmysqld.so # libmysqlclient_r is no more. Upstream tries to replace it with symlinks # but that really doesn't work (wrong soname in particular). We'll keep @@ -464,69 +440,122 @@ ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink -mv ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process ${RPM_BUILD_ROOT}%{_bindir} -ln -s ../../../../../bin/my_safe_process ${RPM_BUILD_ROOT}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process +mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} +ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process -# We specified a different share dir, but the test suite expects some -# data files under /usr/share/mysql, so we create symlinks to compatibility -for f in errmsg-utf8.txt fill_help_tables.sql mysql_system_tables.sql mysql_system_tables_data.sql mysql_test_data_timezone.sql - do - ln -sf "../MySQL/$f" "${RPM_BUILD_ROOT}/usr/share/mysql/$f" - done - -# Remove files that %%doc will install in preferred location -rm -f ${RPM_BUILD_ROOT}/usr/COPYING -rm -f ${RPM_BUILD_ROOT}/usr/README - -# Remove files we don't want installed at all -rm -f ${RPM_BUILD_ROOT}/usr/INSTALL-BINARY -rm -f ${RPM_BUILD_ROOT}/usr/docs/ChangeLog -rm -f ${RPM_BUILD_ROOT}/usr/data/mysql/.empty -rm -f ${RPM_BUILD_ROOT}/usr/data/test/.empty -# should move this to /etc/ ? -rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysqlaccess.conf -rm -f ${RPM_BUILD_ROOT}%{_bindir}/mysql_embedded -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/*.a -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/binary-configure -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/magic -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/ndb-config-2-node.ini -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql.server -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysqld_multi.server -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/comp_err.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/mysql-test-run.pl.1* +# not needed in rpm package +rm -f %{buildroot}%{_bindir}/mysqlaccess.conf +rm -f %{buildroot}%{_bindir}/mysql_embedded +rm -f %{buildroot}%{_libdir}/mysql/*.a +rm -f %{buildroot}%{_datadir}/%{name}/binary-configure +rm -f %{buildroot}%{_datadir}/%{name}/magic +rm -f %{buildroot}%{_datadir}/%{name}/mysql.server +rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server +rm -rf %{buildroot}%{_datadir}/%{name}/solaris +rm -f %{buildroot}%{_mandir}/man1/comp_err.1* +rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d -mv ${RPM_BUILD_ROOT}%{_datadir}/mysql/mysql-log-rotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld -chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/mysqld +mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysqld +chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/mysqld -mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d -echo "%{_libdir}/mysql" > $RPM_BUILD_ROOT/etc/ld.so.conf.d/%{name}-%{_arch}.conf +mkdir -p %{buildroot}/etc/ld.so.conf.d +echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf + +# Back to src dir +popd # copy additional docs into build tree so %%doc will find them -cp %{SOURCE6} README.mysql-docs -cp %{SOURCE7} README.mysql-license +cp -p %{SOURCE6} README.mysql-docs +cp -p %{SOURCE7} README.mysql-license -# install the list of skipped tests to be available for user runs -install -m 0644 mysql-test/rh-skipped-tests.list ${RPM_BUILD_ROOT}%{_datadir}/mysql-test +# Install the list of skipped tests to be available for user runs +install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test -# we don't care about scripts for solaris -rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris +# Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 +chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql +find %{buildroot}%{_datadir}/mysql-test/{r,suite,t} -type f -print0 | xargs --null chmod 0644 +chmod 0644 %{buildroot}%{_datadir}/mysql-test/include/{start_mysqld,shutdown_mysqld,check_ipv4_mapped}.inc +for f in std_data/checkDBI_DBD-mysql.pl suite/engines/rr_trx/run_stress_tx_rr.pl \ + suite/funcs_1/lib/DataGen_local.pl suite/funcs_1/lib/DataGen_modify.pl \ + suite/funcs_2/lib/gen_charset_utf8.pl suite/opt_trace/validate_json.py \ + suite/rpl/extension/bhs.pl suite/rpl/extension/checksum.pl ; do + chmod 0755 %{buildroot}%{_datadir}/mysql-test/$f +done +chmod 0644 %{buildroot}%{_datadir}/sql-bench/graph-compare-results +dos2unix -k %{buildroot}%{_datadir}/sql-bench/innotest* + +# These are in fact identical +rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 +cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 +cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 + +mkdir %{buildroot}%{_sysconfdir}/my.cnf.d + +%check +%if %runselftest + pushd build + # Hack to let 32- and 64-bit tests run concurrently on same build machine + case $(uname -m) in + aarch64 | ppc64 | ppc64p7 | s390x | sparc64 | x86_64 ) + MTR_BUILD_THREAD=7 + ;; + *) + MTR_BUILD_THREAD=11 + ;; + esac + + export MTR_BUILD_THREAD + + make test VERBOSE=1 + + # The cmake build scripts don't provide any simple way to control the + # options for mysql-test-run, so ignore the make target and just call it + # manually. Nonstandard options chosen are: + # --force to continue tests after a failure + # no retries please + # skip tests that are listed in rh-skipped-tests.list + # avoid redundant test runs with --binlog-format=mixed + # increase timeouts to prevent unwanted failures during mass rebuilds + # todo: enable --ssl + pushd mysql-test + cp ../../mysql-test/rh-skipped-tests.list . + ./mtr \ + --mem --parallel=auto --force --retry=0 \ + --skip-test-list=rh-skipped-tests.list \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 + rm -rf var/* + popd +%endif %pre server /usr/sbin/groupadd -g 27 -o -r mysql >/dev/null 2>&1 || : /usr/sbin/useradd -M -N -g mysql -o -r -d /var/lib/mysql -s /bin/bash \ - -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : + -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post libs -p /sbin/ldconfig %post server %systemd_post mysqld.service -/bin/chmod 0755 /var/lib/mysql /bin/touch /var/log/mysqld.log -%post embedded -p /sbin/ldconfig +# Handle upgrading from SysV initscript to native systemd unit. +# We can tell if a SysV version of mysql was previously installed by +# checking to see if the initscript is present. +%triggerun server -- mysql-server +if [ -f /etc/rc.d/init.d/mysqld ]; then + # Save the current service runlevel info + # User must manually run systemd-sysv-convert --apply mysqld + # to migrate them to systemd targets + /usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : + + # Run these because the SysV package being removed won't do them + /sbin/chkconfig --del mysqld >/dev/null 2>&1 || : + /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : +fi %preun server %systemd_preun mysqld.service @@ -536,16 +565,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %postun server %systemd_postun_with_restart mysqld.service -%postun embedded -p /sbin/ldconfig - %files %doc README COPYING README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %doc README.mysql-docs %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config +%{_bindir}/mysql_config-%{__isa_bits} +%{_bindir}/mysql_config_editor %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess @@ -558,32 +586,36 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_bindir}/mysqlslap %{_bindir}/my_print_defaults +%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config.1* +%{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* -%{_libdir}/mysql/mysql_config - %files libs %doc README COPYING README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the # libs package because it can be used for client settings too. %config(noreplace) /etc/my.cnf %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* -/etc/ld.so.conf.d/* +%config(noreplace) /etc/ld.so.conf.d/* %files common +%dir %{_sysconfdir}/my.cnf.d %dir %{_datadir}/%{name} %{_datadir}/%{name}/english +%lang(bg) %{_datadir}/%{name}/bulgarian %lang(cs) %{_datadir}/%{name}/czech %lang(da) %{_datadir}/%{name}/danish %lang(nl) %{_datadir}/%{name}/dutch @@ -609,9 +641,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_datadir}/%{name}/charsets %files server -%doc support-files/*.cnf - -%{_bindir}/myisamchk +%doc README COPYING README.mysql-license +%{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack @@ -640,12 +671,8 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN - -%{_libdir}/mysql/mysqlbug - %{_libdir}/mysql/plugin -%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* @@ -660,12 +687,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_zap.1* %{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* -%{_mandir}/man1/mysqlbinlog.1* -%{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlhotcopy.1* -%{_mandir}/man1/mysqlimport.1* %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/mysql_setpermission.1* %{_mandir}/man1/mysqltest.1* @@ -677,19 +701,15 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* +%{_datadir}/%{name}/dictionary.txt %{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/fill_help_tables.sql +%{_datadir}/%{name}/innodb_memcached_config.sql +%{_datadir}/%{name}/mysql_security_commands.sql %{_datadir}/%{name}/mysql_system_tables.sql %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql -%{_datadir}/mysql/errmsg-utf8.txt -%{_datadir}/mysql/fill_help_tables.sql -%{_datadir}/mysql/mysql_system_tables.sql -%{_datadir}/mysql/mysql_system_tables_data.sql -%{_datadir}/mysql/mysql_test_data_timezone.sql -%{_datadir}/mysql/my-*.cnf -%{_datadir}/mysql/config.*.ini - +%{_datadir}/%{name}/my-*.cnf %{_unitdir}/mysqld.service %{_libexecdir}/mysqld-prepare-db-dir %{_libexecdir}/mysqld-wait-ready @@ -701,6 +721,9 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel +%doc README COPYING README.mysql-license +%{_bindir}/mysql_config +%{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so @@ -708,10 +731,10 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %files embedded %doc README COPYING README.mysql-license -%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %{_libdir}/mysql/libmysqld.so.* %files embedded-devel +%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded @@ -719,16 +742,22 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris %{_mandir}/man1/mysqltest_embedded.1* %files bench +%doc README COPYING README.mysql-license %{_datadir}/sql-bench %files test +%doc README COPYING README.mysql-license %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test - %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Oct 9 2013 Honza Horak 5.6.14-1 +- Update to MySQL 5.6.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html +- Incorporate changes done by Bjorn Munch + * Mon Sep 2 2013 Honza Horak 5.5.33-2 - Enhanced my.cnf to be the same as in mariadb Resolves: #1003115 @@ -820,10 +849,6 @@ rm -f ${RPM_BUILD_ROOT}%{_datadir}/mysql/solaris/postinstall-solaris - Adjusting major soname number of libmysqlclient to avoid library name conflicts with mariadb -* Mon Mar 4 2013 Honza Horak 5.5.30-2 -- Renaming package mysql to MySQL to handle conflicting issues - with mariadb, which became default - * Tue Feb 12 2013 Honza Horak 5.5.30-1 - Update to MySQL 5.5.30, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html 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/libmysql.version b/libmysql.version deleted file mode 100644 index d547b5d..0000000 --- a/libmysql.version +++ /dev/null @@ -1,148 +0,0 @@ -# symbols exported from mysql 5.1 -libmysqlclient_16 { - global: - _fini; - _init; - my_init; - myodbc_remove_escape; - mysql_affected_rows; - mysql_autocommit; - mysql_change_user; - mysql_character_set_name; - mysql_close; - mysql_commit; - mysql_data_seek; - mysql_debug; - mysql_dump_debug_info; - mysql_embedded; - mysql_eof; - mysql_errno; - mysql_error; - mysql_escape_string; - mysql_fetch_field; - mysql_fetch_field_direct; - mysql_fetch_fields; - mysql_fetch_lengths; - mysql_fetch_row; - mysql_field_count; - mysql_field_seek; - mysql_field_tell; - mysql_free_result; - mysql_get_character_set_info; - mysql_get_client_info; - mysql_get_client_version; - mysql_get_host_info; - mysql_get_parameters; - mysql_get_proto_info; - mysql_get_server_info; - mysql_get_server_version; - mysql_get_ssl_cipher; - mysql_hex_string; - mysql_info; - mysql_init; - mysql_insert_id; - mysql_kill; - mysql_list_dbs; - mysql_list_fields; - mysql_list_processes; - mysql_list_tables; - mysql_more_results; - mysql_next_result; - mysql_num_fields; - mysql_num_rows; - mysql_options; - mysql_ping; - mysql_query; - mysql_read_query_result; - mysql_real_connect; - mysql_real_escape_string; - mysql_real_query; - mysql_refresh; - mysql_rollback; - mysql_row_seek; - mysql_row_tell; - mysql_select_db; - mysql_send_query; - mysql_server_end; - mysql_server_init; - mysql_set_character_set; - mysql_set_local_infile_default; - mysql_set_local_infile_handler; - mysql_set_server_option; - mysql_shutdown; - mysql_sqlstate; - mysql_ssl_set; - mysql_stat; - mysql_stmt_affected_rows; - mysql_stmt_attr_get; - mysql_stmt_attr_set; - mysql_stmt_bind_param; - mysql_stmt_bind_result; - mysql_stmt_close; - mysql_stmt_data_seek; - mysql_stmt_errno; - mysql_stmt_error; - mysql_stmt_execute; - mysql_stmt_fetch; - mysql_stmt_fetch_column; - mysql_stmt_field_count; - mysql_stmt_free_result; - mysql_stmt_init; - mysql_stmt_insert_id; - mysql_stmt_num_rows; - mysql_stmt_param_count; - mysql_stmt_param_metadata; - mysql_stmt_prepare; - mysql_stmt_reset; - mysql_stmt_result_metadata; - mysql_stmt_row_seek; - mysql_stmt_row_tell; - mysql_stmt_send_long_data; - mysql_stmt_sqlstate; - mysql_stmt_store_result; - mysql_store_result; - mysql_thread_end; - mysql_thread_id; - mysql_thread_init; - mysql_thread_safe; - mysql_use_result; - mysql_warning_count; -# These are documented in Paul DuBois' MySQL book, so we treat them as part -# of the de-facto API. - free_defaults; - handle_options; - load_defaults; - my_print_help; -# This isn't really documented anywhere, but it seems to be part of the -# de-facto API as well. We're not going to export the deprecated version -# make_scrambled_password, however. - my_make_scrambled_password; -# This really shouldn't be exported, but some applications use it as a -# workaround for inadequate threading support; see bug #846602 - THR_KEY_mysys; - local: - *; -}; -# symbols added in mysql 5.5 -libmysqlclient_18 { - global: - mysql_client_find_plugin; - mysql_client_register_plugin; - mysql_load_plugin; - mysql_load_plugin_v; - mysql_plugin_options; - mysql_stmt_next_result; -# -# Ideally the following symbols wouldn't be exported, but various applications -# require them. We limit the namespace damage by prefixing mysql_ -# (see mysql-dubious-exports.patch), which means the symbols are not present -# in libmysqlclient_16. -# -# mysql-connector-odbc requires these - mysql_default_charset_info; - mysql_get_charset; - mysql_get_charset_by_csname; - mysql_net_realloc; -# PHP's mysqli.so requires this (via the ER() macro) - mysql_client_errors; -}; diff --git a/my.cnf b/my.cnf index ac882ac..1df1f70 100644 --- a/my.cnf +++ b/my.cnf @@ -5,23 +5,13 @@ socket=/var/lib/mysql/mysql.sock symbolic-links=0 # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, -# customize your systemd unit file for mysqld/mariadb according to the +# customize your systemd unit file for mysqld according to the # instructions in http://fedoraproject.org/wiki/Systemd -# Currently, there are mariadb and community-mysql packages in Fedora. -# This particular config file is included in respective RPMs of both of them, -# so the following settings are general and will be also used by both of them. -# Otherwise the RPMs would be in conflict. -# Settings for particular implementations like MariaDB are then -# defined in appropriate sections; for MariaDB server in [mariadb] section in -# /etc/my.cnf.d/server.cnf (part of mariadb-server). -# It doesn't matter that we set these settings only for [mysqld] here, -# because they will be read and used in mysqld_safe as well. +[mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid -[mysqld_safe] - # # include all files from the config directory # diff --git a/my_config.h b/my_config.h index 02baa3d..0672f49 100644 --- a/my_config.h +++ b/my_config.h @@ -31,3 +31,4 @@ #elif defined(__aarch64__) #include "my_config_aarch64.h" #endif + diff --git a/mysql-5.6.10-rpmlintrc b/mysql-5.6.10-rpmlintrc new file mode 100644 index 0000000..dfcdf39 --- /dev/null +++ b/mysql-5.6.10-rpmlintrc @@ -0,0 +1,48 @@ +# Filtered out until upstream fixes them +# Upstream bug: http://bugs.mysql.com/68518 +addFilter("incorrect-fsf-address") + +# Done to avoid _prefix/lib64/tmpfiles.d +addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d") + +# Keeping the old summary for now +addFilter("W: name-repeated-in-summary C MySQL") + +# Spellchecked +addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti") +addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark") +addFilter("W: spelling-error Summary(en_US) embeddable -> embedded") +addFilter("W: spelling-error.*embeddable -> embedded") + +# As long as the manual is part of the original tarball, we have do to +# this +addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz") + +# Leave the logfile where it is for now +addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql") +addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql") +addFilter("E: non-ghost-file /var/log/mysqld.log") +addFilter("E: zero-length /var/log/mysqld.log") + +addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld") + +# Hidden files and zero lenght files is normal for some tests +addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf") +addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def") +addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD") +addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD") +addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list") +addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list") + +# debuginfo bug? +addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777") + +# mysql-config *script* in lib +addFilter("W: only-non-binary-in-usr-lib") + +# missing +addFilter("W: no-manual-page-for-binary my_safe_process") + +# cluster is gone +addFilter("W: obsolete-not-provided mysql-cluster") + diff --git a/MySQL.tmpfiles.d b/mysql.tmpfiles.d similarity index 100% rename from MySQL.tmpfiles.d rename to mysql.tmpfiles.d 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 + diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list index a6ae9bf..6fb816c 100644 --- a/rh-skipped-tests-arm.list +++ b/rh-skipped-tests-arm.list @@ -6,3 +6,9 @@ perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm + +# These tests fail in Fedora rawhide scratch build + +innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1' +main.ctype_ldml : Unknown collation: 'utf8_5624_1' +perfschema.setup_objects : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list index 32f477c..8d92952 100644 --- a/rh-skipped-tests-base.list +++ b/rh-skipped-tests-base.list @@ -11,4 +11,3 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too # as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 innodb.innodb : bug#60155 has platform-dependent results - diff --git a/sources b/sources index 7c848fa..1a61e68 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -eca726ea3457ac885f31aeeee65f9ba3 mysql-5.5.33-nodocs.tar.xz +7da75f4e0a3e1fdc62bfe7f12b85a6d0 mysql-5.6.14-nodocs.tar.xz From f11ed57d89f06a86a572522b60dd65a24db944a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Wed, 9 Oct 2013 17:55:52 +0200 Subject: [PATCH 037/274] Turn on tests --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index dd0dc2e..7311e87 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,7 +1,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) -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # set to 1 to enable %global with_shared_lib_major_hack 1 From f4772533c0fc36b84bec25215c51b4f00736c4d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Thu, 10 Oct 2013 07:42:48 +0200 Subject: [PATCH 038/274] Re-created -man-pages.patch --- community-mysql-man-pages.patch | 979 ++++++++++++++++---------------- 1 file changed, 477 insertions(+), 502 deletions(-) diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index fbed073..0e85ac4 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -2,10 +2,291 @@ # ===== mysqladmin manual page ===== -diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 ---- mysql-5.5.31/man/mysqladmin.1.broken 2013-05-20 14:47:56.719753790 +0200 -+++ mysql-5.5.31/man/mysqladmin.1 2013-05-20 17:00:32.683619252 +0200 -@@ -689,6 +689,21 @@ Compress all information sent between th +diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +--- mysql-5.6.14/man/mysql.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysql.1 2013-10-10 07:40:19.743113287 +0200 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, +-\fB\-?\fR ++\fB\-?\fR, ++\fB\-I\fR + .sp + Display a help message and exit\&. + .RE +@@ -370,6 +371,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio + .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 time for connection timeout in seconds\&. ++.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, +@@ -481,6 +497,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .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 +@@ -696,6 +743,36 @@ 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 ++Specify the maximum packet length to send to or recieve form server\&. ++.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\&. ++.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, +@@ -721,13 +798,28 @@ the section called \(lqMYSQL COMMANDS\(r + .sp -1 + .IP \(bu 2.3 + .\} ++.\" 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\&. ++.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 +@@ -755,6 +847,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: one-database option + .\" one-database option: mysql + \fB\-\-one\-database\fR, +@@ -963,6 +1070,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 +@@ -1172,6 +1294,36 @@ and renamed in 5\&.6\&.7 to + .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\&. ++.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 +@@ -1225,6 +1377,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, +@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR + .sp + Options that begin with +-\fB\-\-ssl\fR ++\fB\-\-ssl\fR, + specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See + Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. + .RE +@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac + .RS 4 + .\} + .nf +-shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR ++shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR + + + +@@ -3369,16 +3536,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 mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +--- mysql-5.6.14/man/mysqladmin.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqladmin.1 2013-10-10 07:40:19.739113363 +0200 +@@ -655,6 +655,21 @@ Compress all information sent between th .sp -1 .IP \(bu 2.3 .\} @@ -27,7 +308,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: count option .\" count option: mysqladmin \fB\-\-count=\fR\fB\fIN\fR\fR, -@@ -793,6 +808,37 @@ Section\ \&10.5, \(lqCharacter Set Confi +@@ -757,6 +772,37 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -65,7 +346,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: enable-cleartext-plugin option .\" enable-cleartext-plugin option: mysqladmin \fB\-\-enable\-cleartext\-plugin\fR -@@ -861,6 +907,21 @@ Suppress the warning beep that is emitte +@@ -825,6 +871,21 @@ Suppress the warning beep that is emitte .sp -1 .IP \(bu 2.3 .\} @@ -87,7 +368,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: password option .\" password option: mysqladmin \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -944,6 +1005,21 @@ The TCP/IP port number to use for the co +@@ -906,6 +967,21 @@ The TCP/IP port number to use for the co .sp -1 .IP \(bu 2.3 .\} @@ -109,7 +390,7 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .\" mysqladmin: protocol option .\" protocol option: mysqladmin \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR -@@ -973,6 +1049,21 @@ command\&. +@@ -935,6 +1011,21 @@ command\&. .RE .sp .RS 4 @@ -131,13 +412,10 @@ diff -up mysql-5.5.31/man/mysqladmin.1.broken mysql-5.5.31/man/mysqladmin.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlbinlog manual page ===== - -diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 ---- mysql-5.5.31/man/mysqlbinlog.1.broken 2013-05-22 15:58:21.443002108 +0200 -+++ mysql-5.5.31/man/mysqlbinlog.1 2013-05-22 16:07:06.426078577 +0200 -@@ -599,6 +599,7 @@ privilege\&. +diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 +--- mysql-5.6.14/man/mysqlbinlog.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlbinlog.1 2013-10-10 07:40:19.740113344 +0200 +@@ -629,6 +629,7 @@ Do not display any of the groups listed \fB\-F\fR .sp Read binary log files even if they are open or were not closed properly\&. @@ -145,7 +423,7 @@ diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 .RE .sp .RS 4 -@@ -708,6 +709,22 @@ entries in the log\&. +@@ -736,6 +737,22 @@ or any other MySQL program\&. .RE .sp .RS 4 @@ -168,178 +446,10 @@ diff -up mysql-5.5.31/man/mysqlbinlog.1.broken mysql-5.5.31/man/mysqlbinlog.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlconfig manual page ===== - -diff -up mysql-5.5.30/man/mysql_config.1.broken mysql-5.5.30/man/mysql_config.1 ---- mysql-5.5.30/man/mysql_config.1.broken 2013-05-13 14:35:55.454290660 +0200 -+++ mysql-5.5.30/man/mysql_config.1 2013-05-13 14:36:09.529321164 +0200 -@@ -176,6 +176,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 - -# ===== mysqldump manual page ===== - -diff -up mysql-5.5.31/man/mysqldump.1.broken mysql-5.5.31/man/mysqldump.1 ---- mysql-5.5.31/man/mysqldump.1.broken 2013-05-23 11:37:22.024143349 +0200 -+++ mysql-5.5.31/man/mysqldump.1 2013-05-23 11:54:50.678308059 +0200 -@@ -611,7 +611,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 -@@ -738,6 +739,38 @@ latin1\&. - .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 -@@ -1400,6 +1433,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 -@@ -1500,6 +1563,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, -@@ -1660,6 +1738,21 @@ The TCP/IP port number to use for the co - .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 - .\} - -# ===== mysqlcheck manual page ===== - -diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 ---- mysql-5.5.31/man/mysqlcheck.1.broken 2013-05-23 09:42:15.396673331 +0200 -+++ mysql-5.5.31/man/mysqlcheck.1 2013-05-23 10:09:00.702410709 +0200 -@@ -490,6 +490,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 +--- mysql-5.6.14/man/mysqlcheck.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlcheck.1 2013-10-10 07:40:19.741113325 +0200 +@@ -488,6 +488,38 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -378,7 +488,7 @@ diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 .\" mysqlcheck: extended option .\" extended option: mysqlcheck \fB\-\-extended\fR, -@@ -622,6 +654,21 @@ operation\&. This finds only 99\&.99% of +@@ -620,6 +652,21 @@ operation\&. This finds only 99\&.99% of .sp -1 .IP \(bu 2.3 .\} @@ -400,7 +510,7 @@ diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 .\" mysqlcheck: optimize option .\" optimize option: mysqlcheck \fB\-\-optimize\fR, -@@ -714,6 +761,22 @@ The TCP/IP port number to use for the co +@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -423,13 +533,169 @@ diff -up mysql-5.5.31/man/mysqlcheck.1.broken mysql-5.5.31/man/mysqlcheck.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlimport manual page ===== - -diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 ---- mysql-5.5.31/man/mysqlimport.1.broken 2013-05-28 12:29:42.287578311 +0200 -+++ mysql-5.5.31/man/mysqlimport.1 2013-05-28 12:37:56.069749824 +0200 -@@ -264,10 +264,42 @@ This option was added in MySQL 5\&.5\&.1 +diff -up mysql-5.6.14/man/mysql_config.1.manpages mysql-5.6.14/man/mysql_config.1 +--- mysql-5.6.14/man/mysql_config.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysql_config.1 2013-10-10 07:40:19.740113344 +0200 +@@ -195,6 +195,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 mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 +--- mysql-5.6.14/man/mysqldump.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqldump.1 2013-10-10 07:40:19.741113325 +0200 +@@ -1237,7 +1237,8 @@ statements that include column names\&. + .\} + .\" 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 +@@ -1789,6 +1790,38 @@ transactional options, primarily for the + .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 +@@ -2071,6 +2104,36 @@ at the end of the option list\&. + .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 +@@ -2171,6 +2234,21 @@ is on by default\&. Thus you rarely if e + .el \{\ + .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 ++.\} + .\} + The + \fB\-\-compact\fR +@@ -2348,6 +2426,21 @@ is on by default\&.) + .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 mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 +--- mysql-5.6.14/man/mysqlimport.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlimport.1 2013-10-10 07:40:19.742113306 +0200 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -473,7 +739,7 @@ diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 .sp Empty the table before importing the text file\&. .RE -@@ -449,6 +481,22 @@ MERGE)\&. +@@ -443,6 +475,22 @@ MERGE)\&. .sp -1 .IP \(bu 2.3 .\} @@ -496,7 +762,7 @@ diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 .\" mysqlimport: password option .\" password option: mysqlimport \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -525,6 +573,22 @@ The TCP/IP port number to use for the co +@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -519,297 +785,10 @@ diff -up mysql-5.5.31/man/mysqlimport.1.broken mysql-5.5.31/man/mysqlimport.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysql manual page ===== - -diff -up mysql-5.5.30/man/mysql.1.broken mysql-5.5.30/man/mysql.1 ---- mysql-5.5.30/man/mysql.1.broken 2013-01-16 08:35:25.000000000 +0100 -+++ mysql-5.5.30/man/mysql.1 2013-05-09 16:50:05.520483885 +0200 -@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -311,6 +312,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 time for connection timeout in seconds\&. -+.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, -@@ -424,6 +440,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .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 -@@ -623,6 +670,36 @@ 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 -+Specify the maximum packet length to send to or recieve form server\&. -+.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\&. -+.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, -@@ -648,13 +725,28 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+.\" 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\&. -+.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 -@@ -682,6 +774,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, -@@ -951,6 +1058,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 -@@ -1114,6 +1236,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\&. -+.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 -@@ -1166,6 +1318,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, -@@ -1220,7 +1387,7 @@ localhost, the Unix socket file to use, - \fB\-\-ssl*\fR - .sp - Options that begin with --\fB\-\-ssl\fR -+\fB\-\-ssl\fR, - specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.8.4, \(lqSSL Command Options\(rq\&. - .RE -@@ -1396,7 +1563,7 @@ The XML output also uses an XML namespac - .RS 4 - .\} - .nf --shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR -+shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR - - - -@@ -2963,16 +3130,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 - -# ===== mysqlshow manual page ===== - -diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 ---- mysql-5.5.31/man/mysqlshow.1.broken 2013-05-28 17:09:06.110099662 +0200 -+++ mysql-5.5.31/man/mysqlshow.1 2013-05-28 17:12:58.169634654 +0200 -@@ -175,7 +175,8 @@ that is supplied with MySQL Cluster\&. I +diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 +--- mysql-5.6.14/man/mysqlshow.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlshow.1 2013-10-10 07:40:19.743113287 +0200 +@@ -173,7 +173,8 @@ This option is supported beginning with .\} .\" mysqlshow: character-sets-dir option .\" character-sets-dir option: mysqlshow @@ -819,7 +798,7 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -307,6 +308,38 @@ This option was added in MySQL 5\&.5\&.1 +@@ -305,6 +306,38 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -858,7 +837,7 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .\" mysqlshow: host option .\" host option: mysqlshow \fB\-\-host=\fR\fB\fIhost_name\fR\fR, -@@ -339,6 +372,22 @@ Show table indexes\&. +@@ -337,6 +370,22 @@ Show table indexes\&. .sp -1 .IP \(bu 2.3 .\} @@ -881,7 +860,7 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .\" mysqlshow: password option .\" password option: mysqlshow \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -415,6 +464,22 @@ The TCP/IP port number to use for the co +@@ -413,6 +462,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -904,13 +883,10 @@ diff -up mysql-5.5.31/man/mysqlshow.1.broken mysql-5.5.31/man/mysqlshow.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - -# ===== mysqlslap manual page ===== - -diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 ---- mysql-5.5.31/man/mysqlslap.1.broken 2013-03-25 14:15:05.000000000 +0100 -+++ mysql-5.5.31/man/mysqlslap.1 2013-05-28 17:28:05.189690868 +0200 -@@ -543,6 +543,38 @@ This option was added in MySQL 5\&.5\&.1 +diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 +--- mysql-5.6.14/man/mysqlslap.1.manpages 2013-09-10 09:38:36.000000000 +0200 ++++ mysql-5.6.14/man/mysqlslap.1 2013-10-10 07:40:19.744113269 +0200 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 .el \{\ .sp -1 .IP \(bu 2.3 @@ -949,7 +925,7 @@ diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 .\} .\" mysqlslap: delimiter option .\" delimiter option: mysqlslap -@@ -643,6 +675,37 @@ The number of times to run the tests\&. +@@ -643,6 +675,37 @@ from dropping any schema it creates duri .sp -1 .IP \(bu 2.3 .\} @@ -1010,4 +986,3 @@ diff -up mysql-5.5.31/man/mysqlslap.1.broken mysql-5.5.31/man/mysqlslap.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} - From 458c978869028b9c6e6690156404656458f71ead Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Fri, 11 Oct 2013 10:49:46 +0200 Subject: [PATCH 039/274] Sync my.cnf with mariadb --- community-mysql.spec | 6 +++++- my.cnf | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7311e87..82bbd0d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -753,6 +753,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Oct 11 2013 Honza Horak 5.6.14-2 +- Fix my.cnf to not conflict with mariadb + Resolves: #1003115 + * Wed Oct 9 2013 Honza Horak 5.6.14-1 - Update to MySQL 5.6.14, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-14.html diff --git a/my.cnf b/my.cnf index 1df1f70..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] +# 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 1d21d16ef47ef91dc17bfd97978586b713376ba7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Tue, 10 Dec 2013 13:28:18 +0100 Subject: [PATCH 040/274] Update to MySQL 5.6.15 --- .gitignore | 1 + community-mysql-5.6.13-mtr-secure-file.patch | 115 -------- community-mysql-file-contents.patch | 27 +- community-mysql-man-pages.patch | 288 +++++++++---------- community-mysql-string-overflow.patch | 38 --- community-mysql.spec | 22 +- sources | 2 +- 7 files changed, 161 insertions(+), 332 deletions(-) delete mode 100644 community-mysql-5.6.13-mtr-secure-file.patch delete mode 100644 community-mysql-string-overflow.patch diff --git a/.gitignore b/.gitignore index bd19720..2249bb4 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ /mysql-5.5.32-nodocs.tar.xz /mysql-5.5.33-nodocs.tar.xz /mysql-5.6.14-nodocs.tar.xz +/mysql-5.6.15.tar.gz diff --git a/community-mysql-5.6.13-mtr-secure-file.patch b/community-mysql-5.6.13-mtr-secure-file.patch deleted file mode 100644 index fa3cf8e..0000000 --- a/community-mysql-5.6.13-mtr-secure-file.patch +++ /dev/null @@ -1,115 +0,0 @@ ------------------------------------------------------------- -revno: 5459 -committer: horst.hunger@oracle.com -branch nick: mysql-trunk -timestamp: Tue 2013-04-02 11:24:05 +0200 -message: - Changes concerning secure-file-prev. -diff: -=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_hash_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_hash_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_inv_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_inv_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_key_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_key_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_key_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_list_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_innodb-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR - -=== added file 'mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt' ---- mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt 1970-01-01 00:00:00 +0000 -+++ mysql-test/suite/parts/t/partition_max_sub_parts_range_myisam-master.opt revid:horst.hunger@oracle.com-20130402092405-rqh6m9smqjwozxh4 -@@ -0,0 +1,1 @@ -+--secure-file-priv=$MYSQL_TMP_DIR diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 73c680d..d1ca18e 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -1,26 +1,17 @@ -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 -Naur mysql-5.5.21.orig/mysql-test/t/file_contents.test mysql-5.5.21/mysql-test/t/file_contents.test ---- mysql-5.5.21.orig/mysql-test/t/file_contents.test 2012-01-31 06:28:15.000000000 -0500 -+++ mysql-5.5.21/mysql-test/t/file_contents.test 2012-02-27 17:18:57.716087918 -0500 -@@ -31,6 +31,15 @@ - } else { - # RedHat: version number in directory name - $dir_docs = glob "$dir_docs/MySQL-server*"; -+ +diff -up mysql-5.6.15/mysql-test/t/file_contents.test.p19 mysql-5.6.15/mysql-test/t/file_contents.test +--- mysql-5.6.15/mysql-test/t/file_contents.test.p19 2013-12-09 18:44:48.425892516 +0100 ++++ mysql-5.6.15/mysql-test/t/file_contents.test 2013-12-09 18:48:02.247150032 +0100 +@@ -39,6 +39,14 @@ if ($dir_bin =~ m|/usr/|) { + # If not it might be ULN so try that + $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; + } + # 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"; ++ $dir_docs = "/usr/lib64/mysql"; + } else { -+ $dir_docs = "/usr/lib/mysql"; ++ $dir_docs = "/usr/lib/mysql"; + } } } else { diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index 0e85ac4..60e6f80 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -1,21 +1,23 @@ +Upstream bug: http://bugs.mysql.com/bug.php?id=69342 + # Amalgamation of patches to various mysql man pages # ===== mysqladmin manual page ===== -diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 ---- mysql-5.6.14/man/mysql.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysql.1 2013-10-10 07:40:19.743113287 +0200 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, +diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +--- mysql-5.6.15/man/mysql.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysql.1 2013-12-10 12:28:29.055463911 +0100 +@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .IP \(bu 2.3 + .\} + .\" mysql: help option.\" help option: mysql\fB\-\-help\fR, -\fB\-?\fR +\fB\-?\fR, +\fB\-I\fR .sp Display a help message and exit\&. .RE -@@ -370,6 +371,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio +@@ -346,6 +347,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio .sp -1 .IP \(bu 2.3 .\} @@ -34,10 +36,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: database option - .\" database option: mysql - \fB\-\-database=\fR\fB\fIdb_name\fR\fR, -@@ -481,6 +497,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .\" mysql: database option.\" database option: mysql\fB\-\-database=\fR\fB\fIdb_name\fR\fR, + \fB\-D \fR\fB\fIdb_name\fR\fR + .sp +@@ -445,6 +461,37 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -72,10 +74,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: delimiter option - .\" delimiter option: mysql - \fB\-\-delimiter=\fR\fB\fIstr\fR\fR -@@ -696,6 +743,36 @@ has no effect if the server does not als + .\" mysql: delimiter option.\" delimiter option: mysql\fB\-\-delimiter=\fR\fB\fIstr\fR\fR + .sp + Set the statement delimiter\&. The default is the semicolon character (\(lq;\(rq)\&. +@@ -636,6 +683,36 @@ has no effect if the server does not als .sp -1 .IP \(bu 2.3 .\} @@ -109,10 +111,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: named-commands option - .\" named-commands option: mysql - \fB\-\-named\-commands\fR, -@@ -721,13 +798,28 @@ the section called \(lqMYSQL COMMANDS\(r + .\" mysql: named-commands option.\" named-commands option: mysql\fB\-\-named\-commands\fR, + \fB\-G\fR + .sp +@@ -659,11 +736,26 @@ the section called \(lqMYSQL COMMANDS\(r .sp -1 .IP \(bu 2.3 .\} @@ -131,9 +133,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: no-auto-rehash option - .\" no-auto-rehash option: mysql - \fB\-\-no\-auto\-rehash\fR, + .\" 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 @@ -142,7 +142,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 \fB\-\-auto\-rehash\fR\&. .RE .sp -@@ -755,6 +847,21 @@ Do not beep when errors occur\&. +@@ -689,6 +781,21 @@ Do not beep when errors occur\&. .sp -1 .IP \(bu 2.3 .\} @@ -161,10 +161,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: one-database option - .\" one-database option: mysql - \fB\-\-one\-database\fR, -@@ -963,6 +1070,21 @@ The TCP/IP port number to use for the co + .\" mysql: one-database option.\" one-database option: mysql\fB\-\-one\-database\fR, + \fB\-o\fR + .sp +@@ -884,6 +991,21 @@ The TCP/IP port number to use for the co .sp -1 .IP \(bu 2.3 .\} @@ -183,10 +183,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: prompt option - .\" prompt option: mysql - \fB\-\-prompt=\fR\fB\fIformat_str\fR\fR -@@ -1172,6 +1294,36 @@ and renamed in 5\&.6\&.7 to + .\" mysql: prompt option.\" prompt option: mysql\fB\-\-prompt=\fR\fB\fIformat_str\fR\fR + .sp + Set the prompt to the specified format\&. The default is +@@ -1075,6 +1197,36 @@ and renamed in 5\&.6\&.7 to .sp -1 .IP \(bu 2.3 .\} @@ -220,10 +220,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: show-warnings option - .\" show-warnings option: mysql - \fB\-\-show\-warnings\fR -@@ -1225,6 +1377,21 @@ option\&. + .\" mysql: show-warnings option.\" show-warnings option: mysql\fB\-\-show\-warnings\fR + .sp + Cause warnings to be shown after each statement if there are any\&. This option applies to interactive and batch mode\&. +@@ -1122,6 +1274,21 @@ option\&. .sp -1 .IP \(bu 2.3 .\} @@ -242,11 +242,11 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: skip-column-names option - .\" skip-column-names option: mysql - \fB\-\-skip\-column\-names\fR, -@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, - \fB\-\-ssl*\fR + .\" mysql: skip-column-names option.\" skip-column-names option: mysql\fB\-\-skip\-column\-names\fR, + \fB\-N\fR + .sp +@@ -1168,7 +1335,7 @@ localhost, the Unix socket file to use, + .\" mysql: SSL options.\" SSL options: mysql\fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR @@ -254,7 +254,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac +@@ -1326,7 +1493,7 @@ The XML output also uses an XML namespac .RS 4 .\} .nf @@ -263,7 +263,7 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 -@@ -3369,16 +3536,16 @@ statements that probably need to examine +@@ -3188,16 +3355,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 @@ -283,10 +283,10 @@ diff -up mysql-5.6.14/man/mysql.1.manpages mysql-5.6.14/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 ---- mysql-5.6.14/man/mysqladmin.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqladmin.1 2013-10-10 07:40:19.739113363 +0200 -@@ -655,6 +655,21 @@ Compress all information sent between th +diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +--- mysql-5.6.15/man/mysqladmin.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqladmin.1 2013-12-10 13:05:23.105401084 +0100 +@@ -639,6 +639,21 @@ Compress all information sent between th .sp -1 .IP \(bu 2.3 .\} @@ -305,10 +305,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: count option - .\" count option: mysqladmin - \fB\-\-count=\fR\fB\fIN\fR\fR, -@@ -757,6 +772,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .\" mysqladmin: count option.\" count option: mysqladmin\fB\-\-count=\fR\fB\fIN\fR\fR, + \fB\-c \fR\fB\fIN\fR\fR + .sp +@@ -729,6 +744,37 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -343,10 +343,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: enable-cleartext-plugin option - .\" enable-cleartext-plugin option: mysqladmin - \fB\-\-enable\-cleartext\-plugin\fR -@@ -825,6 +871,21 @@ Suppress the warning beep that is emitte + .\" mysqladmin: enable-cleartext-plugin option.\" enable-cleartext-plugin option: mysqladmin\fB\-\-enable\-cleartext\-plugin\fR + .sp + Enable the +@@ -789,6 +835,21 @@ Suppress the warning beep that is emitte .sp -1 .IP \(bu 2.3 .\} @@ -365,10 +365,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: password option - .\" password option: mysqladmin - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -906,6 +967,21 @@ The TCP/IP port number to use for the co + .\" mysqladmin: password option.\" password option: mysqladmin\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +@@ -862,6 +923,21 @@ The TCP/IP port number to use for the co .sp -1 .IP \(bu 2.3 .\} @@ -387,10 +387,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: protocol option - .\" protocol option: mysqladmin - \fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR -@@ -935,6 +1011,21 @@ command\&. + .\" mysqladmin: protocol option.\" protocol option: mysqladmin\fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR + .sp + The connection protocol to use for connecting to the server\&. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want\&. For details on the permissible values, see +@@ -938,6 +1014,21 @@ localhost, the Unix socket file to use, .RE .sp .RS 4 @@ -412,10 +412,10 @@ diff -up mysql-5.6.14/man/mysqladmin.1.manpages mysql-5.6.14/man/mysqladmin.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 ---- mysql-5.6.14/man/mysqlbinlog.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlbinlog.1 2013-10-10 07:40:19.740113344 +0200 -@@ -629,6 +629,7 @@ Do not display any of the groups listed +diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 +--- mysql-5.6.15/man/mysqlbinlog.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlbinlog.1 2013-12-09 19:08:52.750074832 +0100 +@@ -602,6 +602,7 @@ Do not display any of the groups listed \fB\-F\fR .sp Read binary log files even if they are open or were not closed properly\&. @@ -423,7 +423,7 @@ diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 .RE .sp .RS 4 -@@ -736,6 +737,22 @@ or any other MySQL program\&. +@@ -715,6 +716,22 @@ entries in the log\&. .RE .sp .RS 4 @@ -446,10 +446,10 @@ diff -up mysql-5.6.14/man/mysqlbinlog.1.manpages mysql-5.6.14/man/mysqlbinlog.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 ---- mysql-5.6.14/man/mysqlcheck.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlcheck.1 2013-10-10 07:40:19.741113325 +0200 -@@ -488,6 +488,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 +--- mysql-5.6.15/man/mysqlcheck.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlcheck.1 2013-12-10 13:02:43.841276619 +0100 +@@ -456,6 +456,38 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -485,10 +485,10 @@ diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: extended option - .\" extended option: mysqlcheck - \fB\-\-extended\fR, -@@ -620,6 +652,21 @@ operation\&. This finds only 99\&.99% of + .\" mysqlcheck: extended option.\" extended option: mysqlcheck\fB\-\-extended\fR, + \fB\-e\fR + .sp +@@ -572,6 +604,21 @@ operation\&. This finds only 99\&.99% of .sp -1 .IP \(bu 2.3 .\} @@ -507,10 +507,10 @@ diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: optimize option - .\" optimize option: mysqlcheck - \fB\-\-optimize\fR, -@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co + .\" mysqlcheck: optimize option.\" optimize option: mysqlcheck\fB\-\-optimize\fR, + \fB\-o\fR + .sp +@@ -712,6 +759,22 @@ Silent mode\&. Print only error messages .RE .sp .RS 4 @@ -533,10 +533,10 @@ diff -up mysql-5.6.14/man/mysqlcheck.1.manpages mysql-5.6.14/man/mysqlcheck.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysql_config.1.manpages mysql-5.6.14/man/mysql_config.1 ---- mysql-5.6.14/man/mysql_config.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysql_config.1 2013-10-10 07:40:19.740113344 +0200 -@@ -195,6 +195,22 @@ The default Unix socket file, defined wh +diff -up mysql-5.6.15/man/mysql_config.1.p24 mysql-5.6.15/man/mysql_config.1 +--- mysql-5.6.15/man/mysql_config.1.p24 2013-12-09 19:08:52.751074834 +0100 ++++ mysql-5.6.15/man/mysql_config.1 2013-12-10 13:09:46.944577176 +0100 +@@ -174,6 +174,22 @@ The default Unix socket file, defined wh .sp -1 .IP \(bu 2.3 .\} @@ -556,23 +556,23 @@ diff -up mysql-5.6.14/man/mysql_config.1.manpages mysql-5.6.14/man/mysql_config. +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql_config: version option - .\" version option: mysql_config - \fB\-\-version\fR -diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 ---- mysql-5.6.14/man/mysqldump.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqldump.1 2013-10-10 07:40:19.741113325 +0200 -@@ -1237,7 +1237,8 @@ statements that include column names\&. + .\" mysql_config: version option.\" version option: mysql_config\fB\-\-version\fR + .sp + Version number for the MySQL distribution\&. +diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 +--- mysql-5.6.15/man/mysqldump.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqldump.1 2013-12-10 13:00:43.204169470 +0100 +@@ -1154,7 +1154,8 @@ statements that include column names\&. + .sp -1 + .IP \(bu 2.3 .\} - .\" mysqldump: create-options option - .\" create-options option: mysqldump --\fB\-\-create\-options\fR -+\fB\-\-create\-options\fR, +-.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR ++.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR, +\fB\-a\fR .sp Include all MySQL\-specific table options in the CREATE TABLE -@@ -1789,6 +1790,38 @@ transactional options, primarily for the +@@ -1666,6 +1667,38 @@ transactional options, primarily for the .sp -1 .IP \(bu 2.3 .\} @@ -608,10 +608,10 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: delayed-insert option - .\" delayed-insert option: mysqldump - \fB\-\-delayed\-insert\fR -@@ -2071,6 +2104,36 @@ at the end of the option list\&. + .\" mysqldump: delayed-insert option.\" delayed-insert option: mysqldump\fB\-\-delayed\-insert\fR + .sp + For those nontransactional tables that support the +@@ -1917,6 +1950,36 @@ at the end of the option list\&. .sp -1 .IP \(bu 2.3 .\} @@ -645,10 +645,10 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: no-autocommit option - .\" no-autocommit option: mysqldump - \fB\-\-no\-autocommit\fR -@@ -2171,6 +2234,21 @@ is on by default\&. Thus you rarely if e + .\" mysqldump: no-autocommit option.\" no-autocommit option: mysqldump\fB\-\-no\-autocommit\fR + .sp + Enclose the +@@ -2012,6 +2075,21 @@ is on by default\&. Thus you rarely if e .el \{\ .sp -1 .IP \(bu 2.3 @@ -670,7 +670,7 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2348,6 +2426,21 @@ is on by default\&.) +@@ -2184,6 +2262,21 @@ is on by default\&.) .RE .sp .RS 4 @@ -692,10 +692,10 @@ diff -up mysql-5.6.14/man/mysqldump.1.manpages mysql-5.6.14/man/mysqldump.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 ---- mysql-5.6.14/man/mysqlimport.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlimport.1 2013-10-10 07:40:19.742113306 +0200 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 +diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 +--- mysql-5.6.15/man/mysqlimport.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlimport.1 2013-12-10 12:55:58.039851937 +0100 +@@ -238,8 +238,40 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -731,15 +731,13 @@ diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: delete option - .\" delete option: mysqlimport - \fB\-\-delete\fR, + .\" 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 -@@ -443,6 +475,22 @@ MERGE)\&. +@@ -397,6 +429,22 @@ MERGE)\&. .sp -1 .IP \(bu 2.3 .\} @@ -759,10 +757,10 @@ diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: password option - .\" password option: mysqlimport - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co + .\" mysqlimport: password option.\" password option: mysqlimport\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +@@ -513,6 +561,22 @@ Silent mode\&. Produce output only when .RE .sp .RS 4 @@ -785,20 +783,20 @@ diff -up mysql-5.6.14/man/mysqlimport.1.manpages mysql-5.6.14/man/mysqlimport.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 ---- mysql-5.6.14/man/mysqlshow.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlshow.1 2013-10-10 07:40:19.743113287 +0200 -@@ -173,7 +173,8 @@ This option is supported beginning with +diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 +--- mysql-5.6.15/man/mysqlshow.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlshow.1 2013-12-10 13:08:16.657520289 +0100 +@@ -167,7 +167,8 @@ This option is supported beginning with + .sp -1 + .IP \(bu 2.3 .\} - .\" 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, +-.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR ++.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, +\fB\-c\fR .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -305,6 +306,38 @@ This option was added in MySQL 5\&.6\&.2 +@@ -285,6 +286,38 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -834,10 +832,10 @@ diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: host option - .\" host option: mysqlshow - \fB\-\-host=\fR\fB\fIhost_name\fR\fR, -@@ -337,6 +370,22 @@ Show table indexes\&. + .\" mysqlshow: host option.\" host option: mysqlshow\fB\-\-host=\fR\fB\fIhost_name\fR\fR, + \fB\-h \fR\fB\fIhost_name\fR\fR + .sp +@@ -313,6 +346,22 @@ Show table indexes\&. .sp -1 .IP \(bu 2.3 .\} @@ -857,10 +855,10 @@ diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: password option - .\" password option: mysqlshow - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, -@@ -413,6 +462,22 @@ The TCP/IP port number to use for the co + .\" mysqlshow: password option.\" password option: mysqlshow\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +@@ -413,6 +462,22 @@ VIEW\&. .RE .sp .RS 4 @@ -883,10 +881,10 @@ diff -up mysql-5.6.14/man/mysqlshow.1.manpages mysql-5.6.14/man/mysqlshow.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 ---- mysql-5.6.14/man/mysqlslap.1.manpages 2013-09-10 09:38:36.000000000 +0200 -+++ mysql-5.6.14/man/mysqlslap.1 2013-10-10 07:40:19.744113269 +0200 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 +diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 +--- mysql-5.6.15/man/mysqlslap.1.p24 2013-11-17 19:03:04.000000000 +0100 ++++ mysql-5.6.15/man/mysqlslap.1 2013-12-10 13:11:04.721623937 +0100 +@@ -531,6 +531,38 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl .el \{\ .sp -1 .IP \(bu 2.3 @@ -923,9 +921,9 @@ diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 +.IP \(bu 2.3 +.\} .\} - .\" mysqlslap: delimiter option - .\" delimiter option: mysqlslap -@@ -643,6 +675,37 @@ from dropping any schema it creates duri + .\" mysqlslap: engine option.\" engine option: mysqlslap\fB\-\-engine=\fR\fB\fIengine_name\fR\fR, + \fB\-e \fR\fB\fIengine_name\fR\fR +@@ -589,6 +621,37 @@ from dropping any schema it creates duri .sp -1 .IP \(bu 2.3 .\} @@ -960,10 +958,10 @@ diff -up mysql-5.6.14/man/mysqlslap.1.manpages mysql-5.6.14/man/mysqlslap.1 +.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, -@@ -821,6 +884,22 @@ The file or string containing the statem + .\" mysqlslap: number-char-cols option.\" number-char-cols option: mysqlslap\fB\-\-number\-char\-cols=\fR\fB\fIN\fR\fR, + \fB\-x \fR\fB\fIN\fR\fR + .sp +@@ -819,6 +882,22 @@ Section\ \&4.2.2, \(lqConnecting to the .RE .sp .RS 4 diff --git a/community-mysql-string-overflow.patch b/community-mysql-string-overflow.patch deleted file mode 100644 index 46e5db3..0000000 --- a/community-mysql-string-overflow.patch +++ /dev/null @@ -1,38 +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 mysql-5.6.10/sql/sql_prepare.cc.orig mysql-5.6.10/sql/sql_prepare.cc ---- mysql-5.6.10/sql/sql_prepare.cc.orig 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/sql/sql_prepare.cc 2013-02-19 15:50:53.257150632 +0100 -@@ -2956,7 +2956,7 @@ void mysql_stmt_get_longdata(THD *thd, c - { - stmt->state= Query_arena::STMT_ERROR; - stmt->last_errno= thd->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); - - -Error: STRING_OVERFLOW: -/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: fixed_size_dest: You might overrun the 512 byte fixed-size string "this->m_parse_error_message" by copying "error_message" without checking the length. -/builddir/build/BUILD/mysql-5.1.61/sql/sql_trigger.cc:2194: parameter_as_source: Note: This defect has an elevated risk because the source argument is a parameter of the current function. - -diff -up mysql-5.6.10/sql/sql_trigger.cc.orig mysql-5.6.10/sql/sql_trigger.cc ---- mysql-5.6.10/sql/sql_trigger.cc.orig 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/sql/sql_trigger.cc 2013-02-19 16:01:10.605885117 +0100 -@@ -2303,7 +2303,7 @@ void Table_triggers_list::mark_fields_us - void Table_triggers_list::set_parse_error_message(char *error_message) - { - m_has_unparseable_trigger= true; -- strcpy(m_parse_error_message, error_message); -+ strncpy(m_parse_error_message, error_message, sizeof(m_parse_error_message)-1); - } - - diff --git a/community-mysql.spec b/community-mysql.spec index 82bbd0d..02085f2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,8 +13,8 @@ %global _default_patch_flags --no-backup-if-mismatch Name: community-mysql -Version: 5.6.14 -Release: 2%{?dist} +Version: 5.6.15 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -23,13 +23,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -# mysql.info from upstream tarball must be removed, create tarball by: -# wget https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz -# tar xvf mysql-%{version}.tar.gz -# rm mysql-%{version}/Docs/mysql.info -# tar cJvf mysql-%{version}-nodocs.tar.xz mysql-%{version} -Source0: mysql-%{version}-nodocs.tar.xz -Source2: generate-tarball.sh +Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz Source3: my.cnf Source4: mysql_config.sh Source5: my_config.h @@ -51,18 +45,15 @@ Patch3: community-mysql-install-test.patch Patch4: community-mysql-expired-certs.patch Patch6: community-mysql-chain-certs.patch Patch11: community-mysql-s390-tsc.patch -Patch15: community-mysql-netdevname.patch Patch16: community-mysql-logrotate.patch Patch18: community-mysql-5.6.11-cipherspec.patch Patch19: community-mysql-file-contents.patch -Patch20: community-mysql-string-overflow.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-sharedir.patch Patch23: community-mysql-5.6.10-libmysql-version.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.14-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch -Patch27: community-mysql-5.6.13-mtr-secure-file.patch Patch28: community-mysql-5.6.13-truncate-file.patch Patch29: community-mysql-tmpdir.patch Patch30: community-mysql-cve-2013-1861.patch @@ -249,11 +240,9 @@ the MySQL sources. %patch4 -p1 %patch6 -p1 %patch11 -p1 -%patch15 -p1 %patch16 -p1 %patch18 -p1 %patch19 -p1 -%patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 @@ -262,7 +251,6 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch26 -p1 %endif -%patch27 -p0 %patch28 -p0 %patch29 -p1 %patch30 -p1 @@ -753,6 +741,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Dec 9 2013 Honza Horak 5.6.15-1 +- Update to MySQL 5.6.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html + * Fri Oct 11 2013 Honza Horak 5.6.14-2 - Fix my.cnf to not conflict with mariadb Resolves: #1003115 diff --git a/sources b/sources index 1a61e68..f9dd4de 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7da75f4e0a3e1fdc62bfe7f12b85a6d0 mysql-5.6.14-nodocs.tar.xz +8c0ee8aa58258df1e1395d7c68b96647 mysql-5.6.15.tar.gz From 7fad07b9566b2fa3c21721a27290303de1ce0f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 16 Dec 2013 14:02:01 +0100 Subject: [PATCH 041/274] Some spec file clean-up based on Bjorn Munch's suggestions --- community-mysql-file-contents.patch | 8 ++++ community-mysql-netdevname.patch | 58 ----------------------------- community-mysql.spec | 15 +++++--- 3 files changed, 17 insertions(+), 64 deletions(-) delete mode 100644 community-mysql-netdevname.patch diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index d1ca18e..0b1a552 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -1,3 +1,11 @@ +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 mysql-5.6.15/mysql-test/t/file_contents.test.p19 mysql-5.6.15/mysql-test/t/file_contents.test --- mysql-5.6.15/mysql-test/t/file_contents.test.p19 2013-12-09 18:44:48.425892516 +0100 +++ mysql-5.6.15/mysql-test/t/file_contents.test 2013-12-09 18:48:02.247150032 +0100 diff --git a/community-mysql-netdevname.patch b/community-mysql-netdevname.patch deleted file mode 100644 index 1cdd9f7..0000000 --- a/community-mysql-netdevname.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff -up mysql-5.6.10/mysys/my_gethwaddr.c.orig mysql-5.6.10/mysys/my_gethwaddr.c ---- mysql-5.6.10/mysys/my_gethwaddr.c.orig 2013-01-22 17:54:49.000000000 +0100 -+++ mysql-5.6.10/mysys/my_gethwaddr.c 2013-02-19 15:19:48.632960900 +0100 -@@ -68,27 +68,47 @@ err: - #include - #include - -+#define MAX_IFS 64 -+ - my_bool my_gethwaddr(uchar *to) - { - int fd, res= 1; - struct ifreq ifr; - char zero_array[ETHER_ADDR_LEN] = {0}; -+ struct ifconf ifc; -+ struct ifreq ifs[MAX_IFS], *ifri, *ifend; - - fd = socket(AF_INET, SOCK_DGRAM, 0); - if (fd < 0) - goto err; - -- memset(&ifr, 0, sizeof(ifr)); -- strnmov(ifr.ifr_name, "eth0", sizeof(ifr.ifr_name) - 1); -+ ifc.ifc_len = sizeof(ifs); -+ ifc.ifc_req = ifs; -+ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) -+ { -+ close(fd); -+ goto err; -+ } - -- do -+ memcpy(to, zero_array, ETHER_ADDR_LEN); -+ -+ ifend = ifs + (ifc.ifc_len / sizeof(struct ifreq)); -+ for (ifri = ifc.ifc_req; ifri < ifend; ifri++) - { -- if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) -+ if (ifri->ifr_addr.sa_family == AF_INET) - { -- memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); -- res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1; -+ memset(&ifr, 0, sizeof(ifr)); -+ strncpy(ifr.ifr_name, ifri->ifr_name, sizeof(ifr.ifr_name)); -+ -+ /* Get HW address */ -+ if (ioctl(fd, SIOCGIFHWADDR, &ifr) >= 0) -+ { -+ memcpy(to, &ifr.ifr_hwaddr.sa_data, ETHER_ADDR_LEN); -+ if (!(res= memcmp(to, zero_array, ETHER_ADDR_LEN) ? 0 : 1)) -+ break; -+ } - } -- } while (res && (errno == 0 || errno == ENODEV) && ifr.ifr_name[3]++ < '6'); -+ } - - close(fd); - err: diff --git a/community-mysql.spec b/community-mysql.spec index 02085f2..c6aa185 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.15 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -234,7 +234,7 @@ the MySQL sources. %prep -%setup -q -n mysql-%{version} +%setup -q %patch2 -p1 %patch3 -p1 %patch4 -p1 @@ -401,8 +401,7 @@ touch %{buildroot}/var/log/mysqld.log mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql -mkdir -p %{buildroot}/etc -install -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf +install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} @@ -514,7 +513,8 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d --mem --parallel=auto --force --retry=0 \ --skip-test-list=rh-skipped-tests.list \ --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 + --suite-timeout=720 --testcase-timeout=30 \ + --clean-vardir rm -rf var/* popd %endif @@ -594,7 +594,7 @@ fi %doc README COPYING README.mysql-license # although the default my.cnf contains only server settings, we put it in the # libs package because it can be used for client settings too. -%config(noreplace) /etc/my.cnf +%config(noreplace) %{_sysconfdir}/my.cnf %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient.so.* %config(noreplace) /etc/ld.so.conf.d/* @@ -741,6 +741,9 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Dec 16 2013 Honza Horak 5.6.15-2 +- Some spec file clean-up based on Bjorn Munch's suggestions + * Mon Dec 9 2013 Honza Horak 5.6.15-1 - Update to MySQL 5.6.15, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-15.html From 038583b0474d98b4819738cf6a708417dae59e0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 16 Dec 2013 14:06:39 +0100 Subject: [PATCH 042/274] Enable InnoDB Memcached plugin --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index c6aa185..859e475 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -327,6 +327,7 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ + -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ @@ -743,6 +744,7 @@ fi %changelog * Mon Dec 16 2013 Honza Horak 5.6.15-2 - Some spec file clean-up based on Bjorn Munch's suggestions +- Enable InnoDB Memcached plugin * Mon Dec 9 2013 Honza Horak 5.6.15-1 - Update to MySQL 5.6.15, for various fixes described at From 0ba73f9e9cf7b366435f848e97288350a76fde76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Honza=20Hor=C3=A1k?= Date: Mon, 16 Dec 2013 15:17:08 +0100 Subject: [PATCH 043/274] We need -n in %setup macro --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 859e475..57577ae 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -234,7 +234,7 @@ the MySQL sources. %prep -%setup -q +%setup -q -n mysql-%{version} %patch2 -p1 %patch3 -p1 %patch4 -p1 From f2e31ad95f35a7fabb42be0d26c7a15864ab9fac Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 24 Jan 2014 09:49:05 +0100 Subject: [PATCH 044/274] Disable tests for ppc(64) and s390(x): innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 Related: #1056972 --- community-mysql.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 57577ae..46567f5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.15 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -268,6 +268,12 @@ cat %{SOURCE14} > mysql-test/rh-skipped-tests.list %ifarch %{arm} cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list %endif +%ifarch ppc ppc64 s390 s390x +echo "innodb.innodb_ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +echo "main.ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +echo "main.ps_ddl : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list +%endif %build # fail quickly and obviously if user tries to build as root @@ -742,6 +748,11 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jan 24 2014 Honza Horak 5.6.15-3 +- Disable tests for ppc(64) and s390(x): + innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 + Related: #1056972 + * Mon Dec 16 2013 Honza Horak 5.6.15-2 - Some spec file clean-up based on Bjorn Munch's suggestions - Enable InnoDB Memcached plugin From b2325d2583ba4342b8560696fe122d3987927e80 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 18:14:42 +0100 Subject: [PATCH 045/274] Fix for CVE-2014-0001 Resolves: #1059545 --- community-mysql-rhbz1059545.patch | 17 +++++++++++++++++ community-mysql.spec | 8 +++++++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 community-mysql-rhbz1059545.patch diff --git a/community-mysql-rhbz1059545.patch b/community-mysql-rhbz1059545.patch new file mode 100644 index 0000000..ece8ef1 --- /dev/null +++ b/community-mysql-rhbz1059545.patch @@ -0,0 +1,17 @@ +Unsifficient limit check aims to security issue. + +MariaDB upstream fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.64 +RHBZ#1059545 + +diff -up mysql-5.6.15/client/mysql.cc.bz1059545 mysql-5.6.15/client/mysql.cc +--- mysql-5.6.15/client/mysql.cc.bz1059545 2014-01-30 18:09:47.209588217 +0100 ++++ mysql-5.6.15/client/mysql.cc 2014-01-30 18:09:59.016581192 +0100 +@@ -1315,7 +1315,7 @@ int main(int argc,char *argv[]) + + put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.", + INFO_INFO); +- sprintf((char*) glob_buffer.ptr(), ++ my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(), + "Your MySQL connection id is %lu\nServer version: %s\n", + mysql_thread_id(&mysql), server_version_string(&mysql)); + put_info((char*) glob_buffer.ptr(),INFO_INFO); diff --git a/community-mysql.spec b/community-mysql.spec index 46567f5..6e7f9a8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,7 +14,7 @@ Name: community-mysql Version: 5.6.15 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -61,6 +61,7 @@ Patch31: community-mysql-innodbwarn.patch Patch32: community-mysql-covscan-signexpr.patch Patch33: community-mysql-covscan-stroverflow.patch Patch34: community-mysql-pluginerrmsg.patch +Patch35: community-mysql-rhbz1059545.patch BuildRequires: cmake BuildRequires: dos2unix @@ -258,6 +259,7 @@ the MySQL sources. %patch32 -p1 %patch33 -p1 %patch34 -p1 +%patch35 -p1 # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -748,6 +750,10 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jan 30 2014 Honza Horak 5.6.15-4 + Fix for CVE-2014-0001 + Resolves: #1059545 + * Fri Jan 24 2014 Honza Horak 5.6.15-3 - Disable tests for ppc(64) and s390(x): innodb.innodb_ctype_ldml main.ctype_ldml main.ps_ddl main.ps_ddl1 From 6f8e826df33a373ca7c02a5ff84cf6b1b7e5f285 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 18:54:56 +0100 Subject: [PATCH 046/274] 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 --- community-mysql.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 6e7f9a8..8d35926 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,6 +62,7 @@ Patch32: community-mysql-covscan-signexpr.patch Patch33: community-mysql-covscan-stroverflow.patch Patch34: community-mysql-pluginerrmsg.patch Patch35: community-mysql-rhbz1059545.patch +Patch36: community-mysql-ssltest.patch BuildRequires: cmake BuildRequires: dos2unix @@ -260,6 +261,7 @@ the MySQL sources. %patch33 -p1 %patch34 -p1 %patch35 -p1 +%patch36 -p1 # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -753,6 +755,9 @@ fi * Thu Jan 30 2014 Honza Horak 5.6.15-4 Fix for CVE-2014-0001 Resolves: #1059545 +- 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 * Fri Jan 24 2014 Honza Horak 5.6.15-3 - Disable tests for ppc(64) and s390(x): From 949cf28491ccc098808f1249d8bd33915b28afbd Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 30 Jan 2014 19:07:03 +0100 Subject: [PATCH 047/274] Add patch --- community-mysql-ssltest.patch | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 community-mysql-ssltest.patch diff --git a/community-mysql-ssltest.patch b/community-mysql-ssltest.patch new file mode 100644 index 0000000..6fdd271 --- /dev/null +++ b/community-mysql-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 From 86ff19c8793e0f35ca496a7dca7a4ee4fa742e13 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 3 Feb 2014 15:00:39 +0100 Subject: [PATCH 048/274] New sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2249bb4..94e6ac7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ /mysql-5.5.33-nodocs.tar.xz /mysql-5.6.14-nodocs.tar.xz /mysql-5.6.15.tar.gz +/mysql-5.6.16.tar.gz diff --git a/sources b/sources index f9dd4de..29fbcd7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8c0ee8aa58258df1e1395d7c68b96647 mysql-5.6.15.tar.gz +1d3d91e8459c719bbef7c97bb499634d mysql-5.6.16.tar.gz From a49d466856283d9abf05f3f4bb6bcbfadf2d149f Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 3 Feb 2014 15:41:44 +0100 Subject: [PATCH 049/274] Rebuild -man-pages.patch to apply smoothly Changes made by Bjorn Munch : Update to MySQL 5.6.16, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-16.html Patches now upstream: tmpdir, cve-2013-1861, covscan-signexpr, covscan-stroverflow Fixed upstream: innodbwarn ldconfig needed in embedded subpackage Remove unused generate-tarball.sh from tree Rediff mysql-install patch Make symvers 18 default, provide symvers 16 for backward compat (bz #1045013) Man page patch disabled due too many conflicts Memcached build patched to not remove -Werror= in CFLAGS --- community-mysql-5.6.10-libmysql-version.patch | 150 ------- community-mysql-5.6.14-mysql-install.patch | 239 ----------- community-mysql-covscan-signexpr.patch | 16 - community-mysql-covscan-stroverflow.patch | 57 --- community-mysql-cve-2013-1861.patch | 47 --- community-mysql-man-pages.patch | 388 +++++++++--------- community-mysql-tmpdir.patch | 87 ---- community-mysql.spec | 41 +- generate-tarball.sh | 15 - 9 files changed, 216 insertions(+), 824 deletions(-) delete mode 100644 community-mysql-5.6.10-libmysql-version.patch delete mode 100644 community-mysql-5.6.14-mysql-install.patch delete mode 100644 community-mysql-covscan-signexpr.patch delete mode 100644 community-mysql-covscan-stroverflow.patch delete mode 100644 community-mysql-cve-2013-1861.patch delete mode 100644 community-mysql-tmpdir.patch delete mode 100755 generate-tarball.sh diff --git a/community-mysql-5.6.10-libmysql-version.patch b/community-mysql-5.6.10-libmysql-version.patch deleted file mode 100644 index 66994e7..0000000 --- a/community-mysql-5.6.10-libmysql-version.patch +++ /dev/null @@ -1,150 +0,0 @@ ---- mysql-5.6.10/libmysql/libmysql.ver.in 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/libmysql/libmysql.ver.in.fedora 2013-02-21 12:59:40.108881131 +0100 -@@ -1,1 +1,146 @@ --libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; -+# symbols exported from mysql 5.1 -+libmysqlclient_16 { -+ global: -+ _fini; -+ _init; -+ my_init; -+ myodbc_remove_escape; -+ mysql_affected_rows; -+ mysql_autocommit; -+ mysql_change_user; -+ mysql_character_set_name; -+ mysql_close; -+ mysql_commit; -+ mysql_data_seek; -+ mysql_debug; -+ mysql_dump_debug_info; -+ mysql_embedded; -+ mysql_eof; -+ mysql_errno; -+ mysql_error; -+ mysql_escape_string; -+ mysql_fetch_field; -+ mysql_fetch_field_direct; -+ mysql_fetch_fields; -+ mysql_fetch_lengths; -+ mysql_fetch_row; -+ mysql_field_count; -+ mysql_field_seek; -+ mysql_field_tell; -+ mysql_free_result; -+ mysql_get_character_set_info; -+ mysql_get_client_info; -+ mysql_get_client_version; -+ mysql_get_host_info; -+ mysql_get_parameters; -+ mysql_get_proto_info; -+ mysql_get_server_info; -+ mysql_get_server_version; -+ mysql_get_ssl_cipher; -+ mysql_hex_string; -+ mysql_info; -+ mysql_init; -+ mysql_insert_id; -+ mysql_kill; -+ mysql_list_dbs; -+ mysql_list_fields; -+ mysql_list_processes; -+ mysql_list_tables; -+ mysql_more_results; -+ mysql_next_result; -+ mysql_num_fields; -+ mysql_num_rows; -+ mysql_options; -+ mysql_ping; -+ mysql_query; -+ mysql_read_query_result; -+ mysql_real_connect; -+ mysql_real_escape_string; -+ mysql_real_query; -+ mysql_refresh; -+ mysql_rollback; -+ mysql_row_seek; -+ mysql_row_tell; -+ mysql_select_db; -+ mysql_send_query; -+ mysql_server_end; -+ mysql_server_init; -+ mysql_set_character_set; -+ mysql_set_local_infile_default; -+ mysql_set_local_infile_handler; -+ mysql_set_server_option; -+ mysql_shutdown; -+ mysql_sqlstate; -+ mysql_ssl_set; -+ mysql_stat; -+ mysql_stmt_affected_rows; -+ mysql_stmt_attr_get; -+ mysql_stmt_attr_set; -+ mysql_stmt_bind_param; -+ mysql_stmt_bind_result; -+ mysql_stmt_close; -+ mysql_stmt_data_seek; -+ mysql_stmt_errno; -+ mysql_stmt_error; -+ mysql_stmt_execute; -+ mysql_stmt_fetch; -+ mysql_stmt_fetch_column; -+ mysql_stmt_field_count; -+ mysql_stmt_free_result; -+ mysql_stmt_init; -+ mysql_stmt_insert_id; -+ mysql_stmt_num_rows; -+ mysql_stmt_param_count; -+ mysql_stmt_param_metadata; -+ mysql_stmt_prepare; -+ mysql_stmt_reset; -+ mysql_stmt_result_metadata; -+ mysql_stmt_row_seek; -+ mysql_stmt_row_tell; -+ mysql_stmt_send_long_data; -+ mysql_stmt_sqlstate; -+ mysql_stmt_store_result; -+ mysql_store_result; -+ mysql_thread_end; -+ mysql_thread_id; -+ mysql_thread_init; -+ mysql_thread_safe; -+ mysql_use_result; -+ mysql_warning_count; -+# These are documented in Paul DuBois' MySQL book, so we treat them as part -+# of the de-facto API. -+ free_defaults; -+ handle_options; -+ load_defaults; -+ my_print_help; -+# This isn't really documented anywhere, but it seems to be part of the -+# de-facto API as well. We're not going to export the deprecated version -+# make_scrambled_password, however. -+ my_make_scrambled_password; -+# This really shouldn't be exported, but some applications use it as a -+# workaround for inadequate threading support; see bug #846602 -+ THR_KEY_mysys; -+ local: -+ *; -+}; -+# symbols added in mysql 5.5 -+libmysqlclient_18 { -+ global: -+ mysql_client_find_plugin; -+ mysql_client_register_plugin; -+ mysql_load_plugin; -+ mysql_load_plugin_v; -+ mysql_plugin_options; -+ mysql_stmt_next_result; -+# -+# Ideally the following symbols wouldn't be exported, but various applications -+# require them. -+# -+# mysql-connector-odbc requires these -+ default_charset_info; -+ get_charset; -+ get_charset_by_csname; -+ net_realloc; -+# PHP's mysqli.so requires this (via the ER() macro) -+ client_errors; -+}; diff --git a/community-mysql-5.6.14-mysql-install.patch b/community-mysql-5.6.14-mysql-install.patch deleted file mode 100644 index b8201f8..0000000 --- a/community-mysql-5.6.14-mysql-install.patch +++ /dev/null @@ -1,239 +0,0 @@ -diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in -index c142d4f..f1f2891 100644 ---- a/scripts/mysql_install_db.pl.in -+++ b/scripts/mysql_install_db.pl.in -@@ -34,13 +34,35 @@ - # - ############################################################################## - --use Fcntl; --use File::Basename; --use File::Copy; --use Getopt::Long; --use Sys::Hostname; --use Data::Dumper; - use strict; -+use warnings; -+ -+############################################################################## -+# Check if all needed modules are available, exit if something is missing. -+############################################################################## -+ -+BEGIN { -+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', -+ 'Sys::Hostname', 'Data::Dumper'); -+ my @missing_mods; -+ my $req; -+ foreach $req (@req_mods) { -+ eval 'require ' . $req; -+ if ($@) { -+ push(@missing_mods, $req); -+ } else { -+ $req->import(); -+ } -+ } -+ # this avoids the confusing "BEGIN failed--compilation aborted" message -+ local $SIG{__DIE__} = sub {warn @_; exit 1}; -+ -+ if (@missing_mods) { -+ my $msg = "FATAL ERROR: please install the following Perl modules " . -+ "before executing $0:\n" . join("\n",@missing_mods)."\n"; -+ die $msg; -+ } -+} - - Getopt::Long::Configure("pass_through"); - -@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] - --help Display this help and exit. - --ldata=path The path to the MySQL data directory. Same as --datadir. - --no-defaults Don't read default options from any option file. -+ --keep-my-cnf Don't try to create my.cnf based on template. -+ Useful for systems with working, updated my.cnf. - EOF1 - if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { - print <{srcdir} and $opt->{basedir} ) - { - error($opt,"Specify either --basedir or --srcdir, not both"); - } -+if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) -+{ -+ $keep_my_cnf = 1; -+} - if ( $opt->{srcdir} ) - { - $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,13 +462,18 @@ my $config_file; - my $copy_cfg_file; - - # ---------------------------------------------------------------------- --# This will be the default config file -+# This will be the default config file (unless creation is unwanted) - # ---------------------------------------------------------------------- - - $config_file= "$basedir/my.cnf"; - - my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", - "share","share/mysql","support-files"); -+# Distros might move files -+if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { -+ $cfg_template = "@pkgdatadir@/my-default.cnf"; -+} -+ - -e $cfg_template or cannot_find_file("my-default.cnf"); - - $copy_cfg_file= $config_file; -@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.cnf/my-new.cnf/; - # Too early to print warning here, the user may not notice - } --open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); --if (open (CFG, "> $copy_cfg_file")) --{ -- while () -- { -- # Remove lines beginning with # *** which are template comments -- print CFG $_ unless /^# \*\*\*/; -+ -+if ( ! $keep_my_cnf ) { -+ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); -+ if (open (CFG, "> $copy_cfg_file")) { -+ while () { -+ # Remove lines beginning with # *** which are template comments -+ print CFG $_ unless /^# \*\*\*/; -+ } -+ close CFG; -+ } else { -+ warning($opt,"Could not write to config file $copy_cfg_file: $!"); -+ $failed_write_cfg= 1; - } -- close CFG; -+ close TEMPL; - } --else --{ -- warning($opt,"Could not write to config file $copy_cfg_file: $!"); -- $failed_write_cfg= 1; --} --close TEMPL; - - # ---------------------------------------------------------------------- - # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) - } - - # ---------------------------------------------------------------------- --# Create database directories mysql & test -+# Create database directory mysql - # ---------------------------------------------------------------------- - - # FIXME The shell variant uses "mkdir -p": -@@ -652,7 +693,7 @@ if ($opt_user) - } - } - --foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) -+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") - { - mkdir($dir, 0700) unless -d $dir; - if ($opt_user and -w "/") -@@ -838,15 +879,26 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) - " cd mysql-test ; perl mysql-test-run.pl"); - } - report($opt, -- "Please report any problems with the " . '@scriptdir@' . "/mysqlbug script!", -- "", - "The latest information about MySQL is available on the web at", - "", - " http://www.mysql.com", - "", -- "Support MySQL by buying support/licenses at http://shop.mysql.com"); -+ "Please visit", -+ "", -+ " http://bugs.mysql.com/", -+ "", -+ "to report bugs. This database is public and can be browsed", -+ "and searched by anyone. If you log in to the system", -+ "you can enter new reports."); -+ - -- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) -+ if ($keep_my_cnf) -+ { -+ report($opt, -+ "Note: new default config file not created.", -+ "Please make sure your config file is current"); -+ } -+ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) - { - report($opt, - "New default config file was created as $config_file and", -@@ -900,9 +952,15 @@ else - "http://www.mysql.com", - "Please consult the MySQL manual section: 'Problems running mysql_install_db',", - "and the manual section that describes problems on your OS.", -- "Another information source is the MySQL email archive.", -- "Please check all of the above before mailing us!", -- "And if you do mail us, you MUST use the " . '@scriptdir@' . "/mysqlbug script!") -+ "Another information source is our bug database.", -+ "Please visit", -+ "", -+ " http://bugs.mysql.com/", -+ "", -+ "to report bugs. This database is public and can be browsed", -+ "and searched by anyone. If you log in to the system you can", -+ "enter new reports."); -+ - } - - ############################################################################## diff --git a/community-mysql-covscan-signexpr.patch b/community-mysql-covscan-signexpr.patch deleted file mode 100644 index 1bbb3db..0000000 --- a/community-mysql-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 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/community-mysql-covscan-stroverflow.patch b/community-mysql-covscan-stroverflow.patch deleted file mode 100644 index 1cfd490..0000000 --- a/community-mysql-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 mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 mysql-5.6.14/plugin/semisync/semisync_master.cc ---- mysql-5.6.14/plugin/semisync/semisync_master.cc.p33 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/plugin/semisync/semisync_master.cc 2013-10-09 15:29:03.550379533 +0200 -@@ -553,7 +553,8 @@ int ReplSemiSyncMaster::reportReplyBinlo - - if (need_copy_send_pos) - { -- 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; - -@@ -681,7 +682,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++; -@@ -692,7 +694,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/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.6.14/sql/rpl_handler.cc.p33 mysql-5.6.14/sql/rpl_handler.cc -diff -up mysql-5.6.14/sql/sp_rcontext.h.p33 mysql-5.6.14/sql/sp_rcontext.h ---- mysql-5.6.14/sql/sp_rcontext.h.p33 2013-10-09 15:29:03.552379535 +0200 -+++ mysql-5.6.14/sql/sp_rcontext.h 2013-10-09 15:29:53.367412814 +0200 -@@ -144,7 +144,8 @@ public: - memcpy(sql_state, _sql_state, SQLSTATE_LENGTH); - sql_state[SQLSTATE_LENGTH]= '\0'; - -- strncpy(message, _message, MYSQL_ERRMSG_SIZE); -+ strncpy(message, _message, sizeof(message)-1); -+ message[sizeof(message)-1] = '\0'; - } - }; - diff --git a/community-mysql-cve-2013-1861.patch b/community-mysql-cve-2013-1861.patch deleted file mode 100644 index cc4b74d..0000000 --- a/community-mysql-cve-2013-1861.patch +++ /dev/null @@ -1,47 +0,0 @@ -It seems CVE-2013-1861 has been fixed in MySQL upstream, but they don't -ship a test case for that. This patch only includes the test case ported -from MariaDB fix: -https://mariadb.atlassian.net/browse/MDEV-4252 - -diff -up mysql-5.6.14/mysql-test/r/gis.result.cve mysql-5.6.14/mysql-test/r/gis.result ---- mysql-5.6.14/mysql-test/r/gis.result.cve 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/r/gis.result 2013-10-09 15:08:59.886598028 +0200 -@@ -1115,6 +1115,21 @@ SELECT 1 FROM g1 WHERE a >= ANY - (SELECT 1 FROM g1 WHERE a = geomfromtext('') OR a) ; - 1 - DROP TABLE g1; -+# -+# TODO-424 geometry query crashes server -+# -+select astext(0x0100000000030000000100000000000010); -+astext(0x0100000000030000000100000000000010) -+NULL -+select area(0x0100000000030000000100000000000010); -+area(0x0100000000030000000100000000000010) -+NULL -+select astext(exteriorring(0x0100000000030000000100000000000010)); -+astext(exteriorring(0x0100000000030000000100000000000010)) -+NULL -+select astext(centroid(0x0100000000030000000100000000000010)); -+astext(centroid(0x0100000000030000000100000000000010)) -+NULL - End of 5.5 tests - DROP DATABASE IF EXISTS gis_ogs; - CREATE DATABASE gis_ogs; -diff -up mysql-5.6.14/mysql-test/t/gis.test.cve mysql-5.6.14/mysql-test/t/gis.test ---- mysql-5.6.14/mysql-test/t/gis.test.cve 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/t/gis.test 2013-10-09 15:08:59.886598028 +0200 -@@ -868,6 +868,13 @@ SELECT 1 FROM g1 WHERE a >= ANY - - DROP TABLE g1; - -+--echo # -+--echo # TODO-424 geometry query crashes server -+--echo # -+select astext(0x0100000000030000000100000000000010); -+select area(0x0100000000030000000100000000000010); -+select astext(exteriorring(0x0100000000030000000100000000000010)); -+select astext(centroid(0x0100000000030000000100000000000010)); - --echo End of 5.5 tests - - diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index 60e6f80..d30ed81 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -4,22 +4,22 @@ Upstream bug: http://bugs.mysql.com/bug.php?id=69342 # ===== mysqladmin manual page ===== -diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 ---- mysql-5.6.15/man/mysql.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysql.1 2013-12-10 12:28:29.055463911 +0100 -@@ -135,7 +135,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt - .IP \(bu 2.3 - .\} - .\" mysql: help option.\" help option: mysql\fB\-\-help\fR, +diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 +--- mysql-5.6.16/man/mysql.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysql.1 2014-02-03 15:37:23.064082223 +0100 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt + .\" mysql: help option + .\" help option: mysql + \fB\-\-help\fR, -\fB\-?\fR +\fB\-?\fR, +\fB\-I\fR .sp Display a help message and exit\&. .RE -@@ -346,6 +347,21 @@ Section\ \&6.3.6, \(lqPassword Expiratio - .sp -1 - .IP \(bu 2.3 +@@ -348,6 +349,21 @@ Compress all information sent between th + .ie n \{\ + \h'-04'\(bu\h'+03'\c .\} +.\" mysql: connect-timeout option +.\" connect-timeout option: mysql @@ -36,13 +36,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: database option.\" database option: mysql\fB\-\-database=\fR\fB\fIdb_name\fR\fR, - \fB\-D \fR\fB\fIdb_name\fR\fR - .sp -@@ -445,6 +461,37 @@ Section\ \&10.5, \(lqCharacter Set Confi + .el \{\ .sp -1 .IP \(bu 2.3 - .\} +@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authenti + .sp + .RS 4 + .ie n \{\ +.\" mysql: defaults-file option +.\" defaults-file option: mysql +\fB\-\-defaults-file=\fR\fB\fIfilename\fR\fR @@ -74,13 +74,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: delimiter option.\" delimiter option: mysql\fB\-\-delimiter=\fR\fB\fIstr\fR\fR - .sp - Set the statement delimiter\&. The default is the semicolon character (\(lq;\(rq)\&. -@@ -636,6 +683,36 @@ has no effect if the server does not als + \h'-04'\(bu\h'+03'\c + .\} + .el \{\ +@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\( + .el \{\ .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 @@ -111,41 +111,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: named-commands option.\" named-commands option: mysql\fB\-\-named\-commands\fR, - \fB\-G\fR - .sp -@@ -659,11 +736,26 @@ the section called \(lqMYSQL COMMANDS\(r - .sp -1 - .IP \(bu 2.3 - .\} -+.\" 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\&. -+.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 -@@ -689,6 +781,21 @@ Do not beep when errors occur\&. - .sp -1 - .IP \(bu 2.3 .\} + .\" mysql: init-command option + .\" init-command option: mysql +@@ -691,6 +768,21 @@ has no effect if the server does not als + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +.\" mysql: no-defaults option +.\" no-defaults option: mysql +\fB\-\-no\-defaults\fR @@ -161,13 +133,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: one-database option.\" one-database option: mysql\fB\-\-one\-database\fR, - \fB\-o\fR - .sp -@@ -884,6 +991,21 @@ The TCP/IP port number to use for the co - .sp -1 - .IP \(bu 2.3 .\} + .el \{\ + .sp -1 +@@ -886,6 +978,21 @@ the section called \(lqMYSQL COMMANDS\(r + \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, + \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR + .sp +.\" mysql: print-defaults option +.\" print-defaults option: mysql +\fB\-\-print\-defaults\fR @@ -183,13 +155,13 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: prompt option.\" prompt option: mysql\fB\-\-prompt=\fR\fB\fIformat_str\fR\fR + The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you + \fIcannot\fR + have a space between the option and the password\&. If you omit the +@@ -1077,6 +1184,36 @@ If the connection to the server is lost, + \fB\-\-skip\-reconnect\fR\&. + .RE .sp - Set the prompt to the specified format\&. The default is -@@ -1075,6 +1197,36 @@ and renamed in 5\&.6\&.7 to - .sp -1 - .IP \(bu 2.3 - .\} +.\" mysql: select-limit option +.\" select-limit option: mysql +\fB\-\-select\-limit=\fR\fB\fIlimit\fR\fR @@ -220,13 +192,31 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: show-warnings option.\" show-warnings option: mysql\fB\-\-show\-warnings\fR + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -1121,9 +1258,39 @@ to disable it\&. + .if n \{\ .sp - Cause warnings to be shown after each statement if there are any\&. This option applies to interactive and batch mode\&. -@@ -1122,6 +1274,21 @@ option\&. - .sp -1 - .IP \(bu 2.3 .\} ++.\" 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\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .RS 4 + .it 1 an-trap + .nr an-no-space-flag 1 +.\" mysql: skip-auto-rehash option +.\" skip-auto-rehash option: mysql +\fB\-\-skip\-auto\-rehash\fR @@ -242,11 +232,11 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql: skip-column-names option.\" skip-column-names option: mysql\fB\-\-skip\-column\-names\fR, - \fB\-N\fR - .sp -@@ -1168,7 +1335,7 @@ localhost, the Unix socket file to use, - .\" mysql: SSL options.\" SSL options: mysql\fB\-\-ssl*\fR + .nr an-break-flag 1 + .br + .ps +1 +@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, + \fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR @@ -254,7 +244,7 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1326,7 +1493,7 @@ The XML output also uses an XML namespac +@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac .RS 4 .\} .nf @@ -263,7 +253,7 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 -@@ -3188,16 +3355,16 @@ statements that probably need to examine +@@ -3369,16 +3536,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 @@ -283,10 +273,10 @@ diff -up mysql-5.6.15/man/mysql.1.p24 mysql-5.6.15/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 ---- mysql-5.6.15/man/mysqladmin.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqladmin.1 2013-12-10 13:05:23.105401084 +0100 -@@ -639,6 +639,21 @@ Compress all information sent between th +diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 +--- mysql-5.6.16/man/mysqladmin.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqladmin.1 2014-02-03 15:31:31.984839986 +0100 +@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Confi .sp -1 .IP \(bu 2.3 .\} @@ -305,13 +295,13 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: count option.\" count option: mysqladmin\fB\-\-count=\fR\fB\fIN\fR\fR, - \fB\-c \fR\fB\fIN\fR\fR + .\" mysqladmin: compress option + .\" compress option: mysqladmin + \fB\-\-compress\fR, +@@ -729,6 +744,37 @@ Print debugging information and memory a .sp -@@ -729,6 +744,37 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 - .IP \(bu 2.3 - .\} + The client\-side authentication plugin to use\&. See + Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. +.\" mysqladmin: defaults-extra-file option +.\" defaults-extra-file option: mysqladmin +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -343,12 +333,12 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: enable-cleartext-plugin option.\" enable-cleartext-plugin option: mysqladmin\fB\-\-enable\-cleartext\-plugin\fR + .RE .sp - Enable the -@@ -789,6 +835,21 @@ Suppress the warning beep that is emitte - .sp -1 - .IP \(bu 2.3 + .RS 4 +@@ -789,6 +835,21 @@ command\&. With multiple commands, conti + .ie n \{\ + \h'-04'\(bu\h'+03'\c .\} +.\" mysqladmin: no-defaults option +.\" no-defaults option: mysqladmin @@ -365,13 +355,13 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: password option.\" password option: mysqladmin\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -@@ -862,6 +923,21 @@ The TCP/IP port number to use for the co + .el \{\ .sp -1 .IP \(bu 2.3 - .\} +@@ -862,6 +923,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guideli + On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. + .RE + .sp +.\" mysqladmin: print-defaults option +.\" print-defaults option: mysqladmin +\fB\-\-print\-defaults\fR @@ -387,10 +377,10 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqladmin: protocol option.\" protocol option: mysqladmin\fB\-\-protocol={TCP|SOCKET|PIPE|MEMORY}\fR - .sp - The connection protocol to use for connecting to the server\&. It is useful when the other connection parameters normally would cause a protocol to be used other than the one you want\&. For details on the permissible values, see -@@ -938,6 +1014,21 @@ localhost, the Unix socket file to use, + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -935,6 +1011,21 @@ command\&. .RE .sp .RS 4 @@ -412,10 +402,10 @@ diff -up mysql-5.6.15/man/mysqladmin.1.p24 mysql-5.6.15/man/mysqladmin.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 ---- mysql-5.6.15/man/mysqlbinlog.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlbinlog.1 2013-12-09 19:08:52.750074832 +0100 -@@ -602,6 +602,7 @@ Do not display any of the groups listed +diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +--- mysql-5.6.16/man/mysqlbinlog.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlbinlog.1 2014-02-03 15:31:31.984839986 +0100 +@@ -629,6 +629,7 @@ Do not display any of the groups listed \fB\-F\fR .sp Read binary log files even if they are open or were not closed properly\&. @@ -423,7 +413,7 @@ diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 .RE .sp .RS 4 -@@ -715,6 +716,22 @@ entries in the log\&. +@@ -736,6 +737,22 @@ or any other MySQL program\&. .RE .sp .RS 4 @@ -446,13 +436,13 @@ diff -up mysql-5.6.15/man/mysqlbinlog.1.p24 mysql-5.6.15/man/mysqlbinlog.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 ---- mysql-5.6.15/man/mysqlcheck.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlcheck.1 2013-12-10 13:02:43.841276619 +0100 -@@ -456,6 +456,38 @@ Section\ \&10.5, \(lqCharacter Set Confi - .sp -1 +diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 +--- mysql-5.6.16/man/mysqlcheck.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlcheck.1 2014-02-03 15:31:31.985839986 +0100 +@@ -456,6 +456,38 @@ Print some debugging information when th .IP \(bu 2.3 .\} + .\" mysqlcheck: debug-info option +.\" mysqlcheck: defaults-extra-file option +.\" defaults-extra-file option: mysqlcheck +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -485,13 +475,13 @@ diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: extended option.\" extended option: mysqlcheck\fB\-\-extended\fR, - \fB\-e\fR + .\" debug-info option: mysqlcheck + \fB\-\-debug\-info\fR .sp -@@ -572,6 +604,21 @@ operation\&. This finds only 99\&.99% of - .sp -1 - .IP \(bu 2.3 +@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. O .\} + .\" mysqlcheck: force option + .\" force option: mysqlcheck +.\" mysqlcheck: no-defaults option +.\" no-defaults option: mysqlcheck +\fB\-\-no\-defaults\fR @@ -507,10 +497,10 @@ diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlcheck: optimize option.\" optimize option: mysqlcheck\fB\-\-optimize\fR, - \fB\-o\fR + \fB\-\-force\fR, + \fB\-f\fR .sp -@@ -712,6 +759,22 @@ Silent mode\&. Print only error messages +@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -533,13 +523,13 @@ diff -up mysql-5.6.15/man/mysqlcheck.1.p24 mysql-5.6.15/man/mysqlcheck.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysql_config.1.p24 mysql-5.6.15/man/mysql_config.1 ---- mysql-5.6.15/man/mysql_config.1.p24 2013-12-09 19:08:52.751074834 +0100 -+++ mysql-5.6.15/man/mysql_config.1 2013-12-10 13:09:46.944577176 +0100 -@@ -174,6 +174,22 @@ The default Unix socket file, defined wh - .sp -1 - .IP \(bu 2.3 - .\} +diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 +--- mysql-5.6.16/man/mysql_config.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysql_config.1 2014-02-03 15:31:31.985839986 +0100 +@@ -174,6 +174,22 @@ The default TCP/IP port number, defined + .sp + .RS 4 + .ie n \{\ +.\" mysql_config: variable option +.\" variable option: mysql_config +\fB\-\-variable=VAR\fR @@ -556,26 +546,25 @@ diff -up mysql-5.6.15/man/mysql_config.1.p24 mysql-5.6.15/man/mysql_config.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysql_config: version option.\" version option: mysql_config\fB\-\-version\fR - .sp - Version number for the MySQL distribution\&. -diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 ---- mysql-5.6.15/man/mysqldump.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqldump.1 2013-12-10 13:00:43.204169470 +0100 -@@ -1154,7 +1154,8 @@ statements that include column names\&. - .sp -1 - .IP \(bu 2.3 + \h'-04'\(bu\h'+03'\c .\} --.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR -+.\" mysqldump: create-options option.\" create-options option: mysqldump\fB\-\-create\-options\fR, -+\fB\-a\fR + .el \{\ +diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 +--- mysql-5.6.16/man/mysqldump.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqldump.1 2014-02-03 15:35:30.992008930 +0100 +@@ -1246,7 +1246,7 @@ statements that include column names\&. + .\} + .\" 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 -@@ -1666,6 +1667,38 @@ transactional options, primarily for the - .sp -1 - .IP \(bu 2.3 - .\} +@@ -1666,6 +1666,38 @@ Do not dump the given table, which must + \fB\-d\fR + .sp + Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the +.\" mysqldump: defaults-extra-file option +.\" defaults-extra-file option: mysqldump +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -608,13 +597,13 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: delayed-insert option.\" delayed-insert option: mysqldump\fB\-\-delayed\-insert\fR - .sp - For those nontransactional tables that support the -@@ -1917,6 +1950,36 @@ at the end of the option list\&. - .sp -1 + CREATE TABLE + statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. + .RE +@@ -1917,6 +1949,36 @@ for information about selectively enabli .IP \(bu 2.3 .\} + .\" mysqldump: quick option +.\" mysqldump: max-allowed-packet option +.\" max-allowed-packet option: mysqldump +\fB\-\-max\-allowed\-packet=\fR\fB\fIlength\fR\fR @@ -645,10 +634,10 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqldump: no-autocommit option.\" no-autocommit option: mysqldump\fB\-\-no\-autocommit\fR - .sp - Enclose the -@@ -2012,6 +2075,21 @@ is on by default\&. Thus you rarely if e + .\" quick option: mysqldump + \fB\-\-quick\fR, + \fB\-q\fR +@@ -2194,6 +2256,21 @@ is on by default\&. Thus you rarely if e .el \{\ .sp -1 .IP \(bu 2.3 @@ -670,7 +659,7 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2184,6 +2262,21 @@ is on by default\&.) +@@ -2371,6 +2448,21 @@ is on by default\&.) .RE .sp .RS 4 @@ -692,10 +681,10 @@ diff -up mysql-5.6.15/man/mysqldump.1.p24 mysql-5.6.15/man/mysqldump.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 ---- mysql-5.6.15/man/mysqlimport.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlimport.1 2013-12-10 12:55:58.039851937 +0100 -@@ -238,8 +238,40 @@ This option was added in MySQL 5\&.6\&.2 +diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 +--- mysql-5.6.16/man/mysqlimport.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlimport.1 2014-02-03 15:36:17.680039918 +0100 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 .sp -1 .IP \(bu 2.3 .\} @@ -731,16 +720,18 @@ diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: delete option.\" delete option: mysqlimport\fB\-\-delete\fR, + .\" 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 -@@ -397,6 +429,22 @@ MERGE)\&. - .sp -1 - .IP \(bu 2.3 - .\} +@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE + Read input files locally from the client host\&. + .RE + .sp +.\" mysqlimport: no-defaults option +.\" no-defaults option: mysqlimport +\fB\-\-no\-defaults\fR @@ -757,10 +748,10 @@ diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlimport: password option.\" password option: mysqlimport\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -@@ -513,6 +561,22 @@ Silent mode\&. Produce output only when + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -783,23 +774,22 @@ diff -up mysql-5.6.15/man/mysqlimport.1.p24 mysql-5.6.15/man/mysqlimport.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 ---- mysql-5.6.15/man/mysqlshow.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlshow.1 2013-12-10 13:08:16.657520289 +0100 -@@ -167,7 +167,8 @@ This option is supported beginning with - .sp -1 - .IP \(bu 2.3 +diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 +--- mysql-5.6.16/man/mysqlshow.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlshow.1 2014-02-03 15:34:12.679955219 +0100 +@@ -173,7 +173,7 @@ This option is supported beginning with .\} --.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR -+.\" mysqlshow: character-sets-dir option.\" character-sets-dir option: mysqlshow\fB\-\-character\-sets\-dir=\fR\fB\fIpath\fR\fR, -+\fB\-c\fR + .\" 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\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +286,38 @@ This option was added in MySQL 5\&.6\&.2 - .sp -1 - .IP \(bu 2.3 +@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Confi .\} + .el \{\ + .sp -1 +.\" mysqlshow: defaults-extra-file option +.\" defaults-extra-file option: mysqlshow +\fB\-\-defaults\-extra\-file=\fR\fB\fIfilename\fR\fR @@ -832,13 +822,13 @@ diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: host option.\" host option: mysqlshow\fB\-\-host=\fR\fB\fIhost_name\fR\fR, - \fB\-h \fR\fB\fIhost_name\fR\fR - .sp -@@ -313,6 +346,22 @@ Show table indexes\&. - .sp -1 .IP \(bu 2.3 .\} + .\" mysqlshow: default-auth option +@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2 + Connect to the MySQL server on the given host\&. + .RE + .sp +.\" mysqlshow: no-defaults option +.\" no-defaults option: mysqlshow +\fB\-\-no\-defaults\fR @@ -855,10 +845,10 @@ diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 +.sp -1 +.IP \(bu 2.3 +.\} - .\" mysqlshow: password option.\" password option: mysqlshow\fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -@@ -413,6 +462,22 @@ VIEW\&. + .RS 4 + .ie n \{\ + \h'-04'\(bu\h'+03'\c +@@ -413,6 +461,22 @@ The TCP/IP port number to use for the co .RE .sp .RS 4 @@ -881,10 +871,10 @@ diff -up mysql-5.6.15/man/mysqlshow.1.p24 mysql-5.6.15/man/mysqlshow.1 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} -diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 ---- mysql-5.6.15/man/mysqlslap.1.p24 2013-11-17 19:03:04.000000000 +0100 -+++ mysql-5.6.15/man/mysqlslap.1 2013-12-10 13:11:04.721623937 +0100 -@@ -531,6 +531,38 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl +diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 +--- mysql-5.6.16/man/mysqlslap.1.p24 2014-01-14 16:38:10.000000000 +0100 ++++ mysql-5.6.16/man/mysqlslap.1 2014-02-03 15:31:31.989839989 +0100 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 .el \{\ .sp -1 .IP \(bu 2.3 @@ -921,12 +911,12 @@ diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 +.IP \(bu 2.3 +.\} .\} - .\" mysqlslap: engine option.\" engine option: mysqlslap\fB\-\-engine=\fR\fB\fIengine_name\fR\fR, + .\" mysqlslap: delimiter option + .\" delimiter option: mysqlslap +@@ -584,6 +616,37 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl \fB\-e \fR\fB\fIengine_name\fR\fR -@@ -589,6 +621,37 @@ from dropping any schema it creates duri - .sp -1 - .IP \(bu 2.3 - .\} + .sp + The storage engine to use for creating tables\&. +.\" mysqlslap: no-defaults option +.\" no-defaults option: mysqlslap +\fB\-\-no\-defaults\fR @@ -958,10 +948,10 @@ diff -up mysql-5.6.15/man/mysqlslap.1.p24 mysql-5.6.15/man/mysqlslap.1 +.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, - \fB\-x \fR\fB\fIN\fR\fR + .RE .sp -@@ -819,6 +882,22 @@ Section\ \&4.2.2, \(lqConnecting to the + .RS 4 +@@ -821,6 +884,22 @@ The file or string containing the statem .RE .sp .RS 4 diff --git a/community-mysql-tmpdir.patch b/community-mysql-tmpdir.patch deleted file mode 100644 index c6842c4..0000000 --- a/community-mysql-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 mysql-5.6.14/CMakeLists.txt.tmpdir mysql-5.6.14/CMakeLists.txt ---- mysql-5.6.14/CMakeLists.txt.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/CMakeLists.txt 2013-10-09 14:49:14.115887439 +0200 -@@ -309,6 +309,10 @@ IF(SYSCONFDIR) - SET(DEFAULT_SYSCONFDIR "${SYSCONFDIR}") - ENDIF() - -+IF(TMPDIR) -+ SET(DEFAULT_TMPDIR "${TMPDIR}") -+ENDIF() -+ - - # Run platform tests - INCLUDE(configure.cmake) -diff -up mysql-5.6.14/config.h.cmake.tmpdir mysql-5.6.14/config.h.cmake ---- mysql-5.6.14/config.h.cmake.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/config.h.cmake 2013-10-09 14:49:14.115887439 +0200 -@@ -636,6 +636,7 @@ - #cmakedefine DEFAULT_CHARSET_HOME "@DEFAULT_CHARSET_HOME@" - #cmakedefine PLUGINDIR "@PLUGINDIR@" - #cmakedefine DEFAULT_SYSCONFDIR "@DEFAULT_SYSCONFDIR@" -+#cmakedefine DEFAULT_TMPDIR "@DEFAULT_TMPDIR@" - - #cmakedefine SO_EXT "@CMAKE_SHARED_MODULE_SUFFIX@" - -diff -up mysql-5.6.14/include/my_global.h.tmpdir mysql-5.6.14/include/my_global.h ---- mysql-5.6.14/include/my_global.h.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/include/my_global.h 2013-10-09 14:49:14.116887439 +0200 -@@ -1219,3 +1219,10 @@ typedef struct - #endif - - #endif // MY_GLOBAL_INCLUDED -+/* -+ Define default tmpdir if not already set. -+*/ -+#if !defined(DEFAULT_TMPDIR) -+#define DEFAULT_TMPDIR P_tmpdir -+#endif -+ -diff -up mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir mysql-5.6.14/libmysqld/lib_sql.cc ---- mysql-5.6.14/libmysqld/lib_sql.cc.tmpdir 2013-09-10 09:38:26.000000000 +0200 -+++ mysql-5.6.14/libmysqld/lib_sql.cc 2013-10-09 14:49:14.116887439 +0200 -@@ -587,7 +587,7 @@ int init_embedded_server(int argc, char - opt_mysql_tmpdir=getenv("TMP"); - #endif - if (!opt_mysql_tmpdir || !opt_mysql_tmpdir[0]) -- opt_mysql_tmpdir=(char*) P_tmpdir; /* purecov: inspected */ -+ opt_mysql_tmpdir=(char*) DEFAULT_TMPDIR; /* purecov: inspected */ - - init_ssl(); - umask(((~my_umask) & 0666)); -diff -up mysql-5.6.14/mysys/mf_tempdir.c.tmpdir mysql-5.6.14/mysys/mf_tempdir.c ---- mysql-5.6.14/mysys/mf_tempdir.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/mysys/mf_tempdir.c 2013-10-09 14:49:14.116887439 +0200 -@@ -43,7 +43,7 @@ my_bool init_tmpdir(MY_TMPDIR *tmpdir, c - pathlist=getenv("TMP"); - #endif - if (!pathlist || !pathlist[0]) -- pathlist=(char*) P_tmpdir; -+ pathlist=(char*) DEFAULT_TMPDIR; - } - do - { -diff -up mysql-5.6.14/mysys/mf_tempfile.c.tmpdir mysql-5.6.14/mysys/mf_tempfile.c ---- mysql-5.6.14/mysys/mf_tempfile.c.tmpdir 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/mysys/mf_tempfile.c 2013-10-09 14:49:14.117887440 +0200 -@@ -111,7 +111,7 @@ File create_temp_file(char *to, const ch - sizeof(prefix_buff)-7),"XXXXXX") - - prefix_buff); - 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/community-mysql.spec b/community-mysql.spec index 8d35926..f0d2254 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -13,8 +13,8 @@ %global _default_patch_flags --no-backup-if-mismatch Name: community-mysql -Version: 5.6.15 -Release: 4%{?dist} +Version: 5.6.16 +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -50,19 +50,15 @@ Patch18: community-mysql-5.6.11-cipherspec.patch Patch19: community-mysql-file-contents.patch Patch21: community-mysql-dh1024.patch Patch22: community-mysql-sharedir.patch -Patch23: community-mysql-5.6.10-libmysql-version.patch +Patch23: community-mysql-5.6.16-libmysql-version.patch Patch24: community-mysql-man-pages.patch -Patch25: community-mysql-5.6.14-mysql-install.patch +Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch Patch28: community-mysql-5.6.13-truncate-file.patch -Patch29: community-mysql-tmpdir.patch -Patch30: community-mysql-cve-2013-1861.patch -Patch31: community-mysql-innodbwarn.patch -Patch32: community-mysql-covscan-signexpr.patch -Patch33: community-mysql-covscan-stroverflow.patch Patch34: community-mysql-pluginerrmsg.patch Patch35: community-mysql-rhbz1059545.patch Patch36: community-mysql-ssltest.patch +Patch37: community-mysql-5.6.16-fix-regex-werror.patch BuildRequires: cmake BuildRequires: dos2unix @@ -254,14 +250,10 @@ the MySQL sources. %patch26 -p1 %endif %patch28 -p0 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 %patch34 -p1 %patch35 -p1 %patch36 -p1 +%patch37 -p1 # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f mysql-test/t/ssl_8k_key-master.opt @@ -537,6 +529,8 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d %post libs -p /sbin/ldconfig +%post embedded -p /sbin/ldconfig + %post server %systemd_post mysqld.service /bin/touch /var/log/mysqld.log @@ -561,6 +555,8 @@ fi %postun libs -p /sbin/ldconfig +%postun embedded -p /sbin/ldconfig + %postun server %systemd_postun_with_restart mysqld.service @@ -752,6 +748,23 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Feb 3 2014 Honza Horak 5.6.16-2 +- Rebuild -man-pages.patch to apply smoothly + +* Fri Jan 31 2014 Bjorn Munch 5.6.16-1 +- Update to MySQL 5.6.16, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-16.html +- Patches now upstream: tmpdir, cve-2013-1861, covscan-signexpr, + covscan-stroverflow +- Fixed upstream: innodbwarn +- ldconfig needed in embedded subpackage +- Remove unused generate-tarball.sh from tree +- Rediff mysql-install patch +- Make symvers 18 default, provide symvers 16 for backward compat + (bz #1045013) +- Man page patch disabled due too many conflicts +- Memcached build patched to not remove -Werror= in CFLAGS + * Thu Jan 30 2014 Honza Horak 5.6.15-4 Fix for CVE-2014-0001 Resolves: #1059545 diff --git a/generate-tarball.sh b/generate-tarball.sh deleted file mode 100755 index 4482e67..0000000 --- a/generate-tarball.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -VERSION=$1 - -rm -rf mysql-$VERSION - -tar xfz mysql-$VERSION.tar.gz || exit 1 - -rm mysql-$VERSION/Docs/mysql.info - -tar cfJ mysql-$VERSION-nodocs.tar.xz mysql-$VERSION || exit 1 - -rm -rf mysql-$VERSION - -exit 0 From aedd719f3fd621f22723023fc3f09b73f86cb1f3 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 3 Feb 2014 18:35:20 +0100 Subject: [PATCH 050/274] Forgot to add the files --- community-mysql-5.6.16-fix-regex-werror.patch | 26 + community-mysql-5.6.16-libmysql-version.patch | 960 ++++++++++++++++++ community-mysql-5.6.16-mysql-install.patch | 204 ++++ 3 files changed, 1190 insertions(+) create mode 100644 community-mysql-5.6.16-fix-regex-werror.patch create mode 100644 community-mysql-5.6.16-libmysql-version.patch create mode 100644 community-mysql-5.6.16-mysql-install.patch diff --git a/community-mysql-5.6.16-fix-regex-werror.patch b/community-mysql-5.6.16-fix-regex-werror.patch new file mode 100644 index 0000000..0d76ddd --- /dev/null +++ b/community-mysql-5.6.16-fix-regex-werror.patch @@ -0,0 +1,26 @@ +diff --git a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt +index 0332658..29c6f46 100644 +--- a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt ++++ b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt +@@ -32,7 +32,7 @@ SET(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS} -I${CMAK + + # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully + IF(CMAKE_C_FLAGS MATCHES "-Werror") +- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + # Turn -Wdeclaration-after-statement off to reduce the number of warnings + STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") +diff --git a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt +index 633a175..4c0b364 100644 +--- a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt ++++ b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt +@@ -26,7 +26,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/plugin/innodb_memcached/innodb_memcache + + # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully + IF(CMAKE_C_FLAGS MATCHES "-Werror") +- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") ++ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + # Turn -Wdeclaration-after-statement off to reduce the number of warnings + STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") + ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") diff --git a/community-mysql-5.6.16-libmysql-version.patch b/community-mysql-5.6.16-libmysql-version.patch new file mode 100644 index 0000000..e16e65a --- /dev/null +++ b/community-mysql-5.6.16-libmysql-version.patch @@ -0,0 +1,960 @@ +diff -rup old/libmysql/libmysql.c new/libmysql/libmysql.c +--- old/libmysql/libmysql.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/libmysql/libmysql.c 2014-01-14 12:10:27.148374504 +0100 +@@ -4898,3 +4898,612 @@ my_bool STDCALL mysql_read_query_result( + return (*mysql->methods->read_query_result)(mysql); + } + ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name) ++{ ++ return myodbc_remove_escape(mysql, name); ++} ++SYM_16(myodbc_remove_escape); ++ ++ ++my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql) ++{ ++ return mysql_affected_rows(mysql); ++} ++SYM_16(mysql_affected_rows); ++ ++ ++my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode) ++{ ++ return mysql_autocommit(mysql, auto_mode); ++} ++SYM_16(mysql_autocommit); ++ ++ ++my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db) ++{ ++ return mysql_change_user(mysql, user, passwd, db); ++} ++SYM_16(mysql_change_user); ++ ++ ++const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql) ++{ ++ return mysql_character_set_name(mysql); ++} ++SYM_16(mysql_character_set_name); ++ ++ ++my_bool STDCALL symver16_mysql_commit(MYSQL * mysql) ++{ ++ return mysql_commit(mysql); ++} ++SYM_16(mysql_commit); ++ ++ ++void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row) ++{ ++ return mysql_data_seek(result, row); ++} ++SYM_16(mysql_data_seek); ++ ++ ++void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused))) ++{ ++ return mysql_debug(debug); ++} ++SYM_16(mysql_debug); ++ ++ ++int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql) ++{ ++ return mysql_dump_debug_info(mysql); ++} ++SYM_16(mysql_dump_debug_info); ++ ++ ++my_bool STDCALL symver16_mysql_embedded(void) ++{ ++ return mysql_embedded(); ++} ++SYM_16(mysql_embedded); ++ ++ ++my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res) ++{ ++ return mysql_eof(res); ++} ++SYM_16(mysql_eof); ++ ++ ++ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length) ++{ ++ return mysql_escape_string(to, from, length); ++} ++SYM_16(mysql_escape_string); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result) ++{ ++ return mysql_fetch_field(result); ++} ++SYM_16(mysql_fetch_field); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr) ++{ ++ return mysql_fetch_field_direct(res, fieldnr); ++} ++SYM_16(mysql_fetch_field_direct); ++ ++ ++MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res) ++{ ++ return mysql_fetch_fields(res); ++} ++SYM_16(mysql_fetch_fields); ++ ++ ++unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql) ++{ ++ return mysql_field_count(mysql); ++} ++SYM_16(mysql_field_count); ++ ++ ++MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset) ++{ ++ return mysql_field_seek(result, field_offset); ++} ++SYM_16(mysql_field_seek); ++ ++ ++MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res) ++{ ++ return mysql_field_tell(res); ++} ++SYM_16(mysql_field_tell); ++ ++ ++void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo) ++{ ++ return mysql_get_character_set_info(mysql, csinfo); ++} ++SYM_16(mysql_get_character_set_info); ++ ++ ++const char * STDCALL symver16_mysql_get_client_info(void) ++{ ++ return mysql_get_client_info(); ++} ++SYM_16(mysql_get_client_info); ++ ++ulong STDCALL symver16_mysql_get_client_version(void) ++{ ++ return mysql_get_client_version(); ++} ++SYM_16(mysql_get_client_version); ++ ++ ++const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql) ++{ ++ return mysql_get_host_info(mysql); ++} ++SYM_16(mysql_get_host_info); ++ ++ ++MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void) ++{ ++ return mysql_get_parameters(); ++} ++SYM_16(mysql_get_parameters); ++ ++ ++uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql) ++{ ++ return mysql_get_proto_info(mysql); ++} ++SYM_16(mysql_get_proto_info); ++ ++ ++const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql) ++{ ++ return mysql_get_server_info(mysql); ++} ++SYM_16(mysql_get_server_info); ++ ++ ++ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length) ++{ ++ return mysql_hex_string(to, from, length); ++} ++SYM_16(mysql_hex_string); ++ ++ ++const char *STDCALL symver16_mysql_info(MYSQL *mysql) ++{ ++ return mysql_info(mysql); ++} ++SYM_16(mysql_info); ++ ++ ++my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql) ++{ ++ return mysql_insert_id(mysql); ++} ++SYM_16(mysql_insert_id); ++ ++ ++int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid) ++{ ++ return mysql_kill(mysql, pid); ++} ++SYM_16(mysql_kill); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild) ++{ ++ return mysql_list_dbs(mysql, wild); ++} ++SYM_16(mysql_list_dbs); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild) ++{ ++ return mysql_list_fields(mysql, table, wild); ++} ++SYM_16(mysql_list_fields); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql) ++{ ++ return mysql_list_processes(mysql); ++} ++SYM_16(mysql_list_processes); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild) ++{ ++ return mysql_list_tables(mysql, wild); ++} ++SYM_16(mysql_list_tables); ++ ++ ++my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql) ++{ ++ return mysql_more_results(mysql); ++} ++SYM_16(mysql_more_results); ++ ++ ++int STDCALL symver16_mysql_next_result(MYSQL *mysql) ++{ ++ return mysql_next_result(mysql); ++} ++SYM_16(mysql_next_result); ++ ++ ++int STDCALL symver16_mysql_ping(MYSQL *mysql) ++{ ++ return mysql_ping(mysql); ++} ++SYM_16(mysql_ping); ++ ++ ++int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query) ++{ ++ return mysql_query(mysql, query); ++} ++SYM_16(mysql_query); ++ ++ ++my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql) ++{ ++ return mysql_read_query_result(mysql); ++} ++SYM_16(mysql_read_query_result); ++ ++ ++ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length) ++{ ++ return mysql_real_escape_string(mysql, to, from, length); ++} ++SYM_16(mysql_real_escape_string); ++ ++ ++int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options) ++{ ++ return mysql_refresh(mysql, options); ++} ++SYM_16(mysql_refresh); ++ ++ ++my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql) ++{ ++ return mysql_rollback(mysql); ++} ++SYM_16(mysql_rollback); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row) ++{ ++ return mysql_row_seek(result, row); ++} ++SYM_16(mysql_row_seek); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res) ++{ ++ return mysql_row_tell(res); ++} ++SYM_16(mysql_row_tell); ++ ++ ++void STDCALL symver16_mysql_server_end() ++{ ++ return mysql_server_end(); ++} ++SYM_16(mysql_server_end); ++ ++ ++int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused))) ++{ ++ return mysql_server_init(argc, argv, groups); ++} ++SYM_16(mysql_server_init); ++ ++ ++void symver16_mysql_set_local_infile_default(MYSQL *mysql) ++{ ++ return mysql_set_local_infile_default(mysql); ++} ++SYM_16(mysql_set_local_infile_default); ++ ++ ++void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata) ++{ ++ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata); ++} ++SYM_16(mysql_set_local_infile_handler); ++ ++ ++int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option) ++{ ++ return mysql_set_server_option(mysql, option); ++} ++SYM_16(mysql_set_server_option); ++ ++ ++int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level) ++{ ++ return mysql_shutdown(mysql, shutdown_level); ++} ++SYM_16(mysql_shutdown); ++ ++ ++const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql) ++{ ++ return mysql_sqlstate(mysql); ++} ++SYM_16(mysql_sqlstate); ++ ++ ++const char * STDCALL symver16_mysql_stat(MYSQL *mysql) ++{ ++ return mysql_stat(mysql); ++} ++SYM_16(mysql_stat); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_affected_rows(stmt); ++} ++SYM_16(mysql_stmt_affected_rows); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value) ++{ ++ return mysql_stmt_attr_get(stmt, attr_type, value); ++} ++SYM_16(mysql_stmt_attr_get); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value) ++{ ++ return mysql_stmt_attr_set(stmt, attr_type, value); ++} ++SYM_16(mysql_stmt_attr_set); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) ++{ ++ return mysql_stmt_bind_param(stmt, my_bind); ++} ++SYM_16(mysql_stmt_bind_param); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) ++{ ++ return mysql_stmt_bind_result(stmt, my_bind); ++} ++SYM_16(mysql_stmt_bind_result); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_close(stmt); ++} ++SYM_16(mysql_stmt_close); ++ ++ ++void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row) ++{ ++ return mysql_stmt_data_seek(stmt, row); ++} ++SYM_16(mysql_stmt_data_seek); ++ ++ ++uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_errno(stmt); ++} ++SYM_16(mysql_stmt_errno); ++ ++ ++const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_error(stmt); ++} ++SYM_16(mysql_stmt_error); ++ ++ ++int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_execute(stmt); ++} ++SYM_16(mysql_stmt_execute); ++ ++ ++int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_fetch(stmt); ++} ++SYM_16(mysql_stmt_fetch); ++ ++ ++int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset) ++{ ++ return mysql_stmt_fetch_column(stmt, my_bind, column, offset); ++} ++SYM_16(mysql_stmt_fetch_column); ++ ++ ++unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_field_count(stmt); ++} ++SYM_16(mysql_stmt_field_count); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_free_result(stmt); ++} ++SYM_16(mysql_stmt_free_result); ++ ++ ++MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql) ++{ ++ return mysql_stmt_init(mysql); ++} ++SYM_16(mysql_stmt_init); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_insert_id(stmt); ++} ++SYM_16(mysql_stmt_insert_id); ++ ++ ++my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_num_rows(stmt); ++} ++SYM_16(mysql_stmt_num_rows); ++ ++ ++ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_param_count(stmt); ++} ++SYM_16(mysql_stmt_param_count); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_param_metadata(stmt); ++} ++SYM_16(mysql_stmt_param_metadata); ++ ++ ++int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) ++{ ++ return mysql_stmt_prepare(stmt, query, length); ++} ++SYM_16(mysql_stmt_prepare); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_reset(stmt); ++} ++SYM_16(mysql_stmt_reset); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_result_metadata(stmt); ++} ++SYM_16(mysql_stmt_result_metadata); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row) ++{ ++ return mysql_stmt_row_seek(stmt, row); ++} ++SYM_16(mysql_stmt_row_seek); ++ ++ ++MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_row_tell(stmt); ++} ++SYM_16(mysql_stmt_row_tell); ++ ++ ++my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length) ++{ ++ return mysql_stmt_send_long_data(stmt, param_number, data, length); ++} ++SYM_16(mysql_stmt_send_long_data); ++ ++ ++const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt) ++{ ++ return mysql_stmt_sqlstate(stmt); ++} ++SYM_16(mysql_stmt_sqlstate); ++ ++ ++int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt) ++{ ++ return mysql_stmt_store_result(stmt); ++} ++SYM_16(mysql_stmt_store_result); ++ ++ ++void STDCALL symver16_mysql_thread_end() ++{ ++ return mysql_thread_end(); ++} ++SYM_16(mysql_thread_end); ++ ++ ++ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql) ++{ ++ return mysql_thread_id(mysql); ++} ++SYM_16(mysql_thread_id); ++ ++ ++my_bool STDCALL symver16_mysql_thread_init() ++{ ++ return mysql_thread_init(); ++} ++SYM_16(mysql_thread_init); ++ ++ ++uint STDCALL symver16_mysql_thread_safe(void) ++{ ++ return mysql_thread_safe(); ++} ++SYM_16(mysql_thread_safe); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql) ++{ ++ return mysql_use_result(mysql); ++} ++SYM_16(mysql_use_result); ++ ++ ++uint STDCALL symver16_mysql_warning_count(MYSQL *mysql) ++{ ++ return mysql_warning_count(mysql); ++} ++SYM_16(mysql_warning_count); ++ ++/*****/ ++ ++MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag) ++{ ++ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); ++} ++SYM_16(mysql_real_connect); ++ ++/*****/ ++ ++my_bool symver16_my_init(void) ++{ ++ return my_init(); ++} ++SYM_16(my_init); ++ ++#endif +diff -rup old/libmysql/libmysql.ver.in new/libmysql/libmysql.ver.in +--- old/libmysql/libmysql.ver.in 2013-11-04 20:15:10.000000000 +0100 ++++ new/libmysql/libmysql.ver.in 2014-01-14 12:10:27.148374504 +0100 +@@ -1 +1,136 @@ +-libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; ++libmysqlclient_16 ++{ ++ local: ++ symver16_*; ++}; ++ ++libmysqlclient_18 ++{ ++ global: ++ my_init; ++ myodbc_remove_escape; ++ mysql_affected_rows; ++ mysql_autocommit; ++ mysql_change_user; ++ mysql_character_set_name; ++ mysql_close; ++ mysql_commit; ++ mysql_data_seek; ++ mysql_debug; ++ mysql_dump_debug_info; ++ mysql_embedded; ++ mysql_eof; ++ mysql_errno; ++ mysql_error; ++ mysql_escape_string; ++ mysql_fetch_field; ++ mysql_fetch_field_direct; ++ mysql_fetch_fields; ++ mysql_fetch_lengths; ++ mysql_fetch_row; ++ mysql_field_count; ++ mysql_field_seek; ++ mysql_field_tell; ++ mysql_free_result; ++ mysql_get_character_set_info; ++ mysql_get_client_info; ++ mysql_get_client_version; ++ mysql_get_host_info; ++ mysql_get_parameters; ++ mysql_get_proto_info; ++ mysql_get_server_info; ++ mysql_get_server_version; ++ mysql_get_ssl_cipher; ++ mysql_hex_string; ++ mysql_info; ++ mysql_init; ++ mysql_insert_id; ++ mysql_kill; ++ mysql_list_dbs; ++ mysql_list_fields; ++ mysql_list_processes; ++ mysql_list_tables; ++ mysql_more_results; ++ mysql_next_result; ++ mysql_num_fields; ++ mysql_num_rows; ++ mysql_options; ++ mysql_ping; ++ mysql_query; ++ mysql_read_query_result; ++ mysql_real_connect; ++ mysql_real_escape_string; ++ mysql_real_query; ++ mysql_refresh; ++ mysql_rollback; ++ mysql_row_seek; ++ mysql_row_tell; ++ mysql_select_db; ++ mysql_send_query; ++ mysql_server_end; ++ mysql_server_init; ++ mysql_set_character_set; ++ mysql_set_local_infile_default; ++ mysql_set_local_infile_handler; ++ mysql_set_server_option; ++ mysql_shutdown; ++ mysql_sqlstate; ++ mysql_ssl_set; ++ mysql_stat; ++ mysql_stmt_affected_rows; ++ mysql_stmt_attr_get; ++ mysql_stmt_attr_set; ++ mysql_stmt_bind_param; ++ mysql_stmt_bind_result; ++ mysql_stmt_close; ++ mysql_stmt_data_seek; ++ mysql_stmt_errno; ++ mysql_stmt_error; ++ mysql_stmt_execute; ++ mysql_stmt_fetch; ++ mysql_stmt_fetch_column; ++ mysql_stmt_field_count; ++ mysql_stmt_free_result; ++ mysql_stmt_init; ++ mysql_stmt_insert_id; ++ mysql_stmt_num_rows; ++ mysql_stmt_param_count; ++ mysql_stmt_param_metadata; ++ mysql_stmt_prepare; ++ mysql_stmt_reset; ++ mysql_stmt_result_metadata; ++ mysql_stmt_row_seek; ++ mysql_stmt_row_tell; ++ mysql_stmt_send_long_data; ++ mysql_stmt_sqlstate; ++ mysql_stmt_store_result; ++ mysql_store_result; ++ mysql_thread_end; ++ mysql_thread_id; ++ mysql_thread_init; ++ mysql_thread_safe; ++ mysql_use_result; ++ mysql_warning_count; ++ ++ free_defaults; ++ handle_options; ++ load_defaults; ++ my_print_help; ++ ++ #my_make_scrambled_password; ++ THR_KEY_mysys; ++ ++ mysql_client_find_plugin; ++ mysql_client_register_plugin; ++ mysql_load_plugin; ++ mysql_load_plugin_v; ++ mysql_plugin_options; ++ mysql_stmt_next_result; ++ ++ #mysql_default_charset_info; ++ mysql_get_charset; ++ mysql_get_charset_by_csname; ++ mysql_net_realloc; ++ #mysql_client_errors; ++ *; ++} libmysqlclient_16; +diff -rup old/mysys/charset.c new/mysys/charset.c +--- old/mysys/charset.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/mysys/charset.c 2014-01-14 12:10:27.197377417 +0100 +@@ -1040,3 +1040,20 @@ size_t escape_quotes_for_mysql(CHARSET_I + *to= 0; + return overflow ? (ulong)~0 : (ulong) (to - to_start); + } ++ ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide Fedora symbols ++ ++CHARSET_INFO *mysql_get_charset(uint cs_number, myf flags) ++{ ++ return get_charset(cs_number, flags); ++} ++ ++ ++CHARSET_INFO * mysql_get_charset_by_csname(const char *cs_name, uint cs_flags, myf flags) ++{ ++ return get_charset_by_csname(cs_name, cs_flags, flags); ++} ++ ++#endif +diff -rup old/sql/net_serv.cc new/sql/net_serv.cc +--- old/sql/net_serv.cc 2013-11-04 20:15:10.000000000 +0100 ++++ new/sql/net_serv.cc 2014-01-14 12:10:27.252380688 +0100 +@@ -1047,3 +1047,15 @@ void my_net_set_write_timeout(NET *net, + DBUG_VOID_RETURN; + } + ++#ifndef EMBEDDED_LIBRARY ++C_MODE_START ++ ++// Hack to provide Fedora symbols ++ ++my_bool mysql_net_realloc(NET *net, size_t length) ++{ ++ return net_realloc(net, length); ++} ++ ++C_MODE_END ++#endif +diff -rup old/sql/password.c new/sql/password.c +--- old/sql/password.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/sql/password.c 2014-01-14 12:10:27.309384078 +0100 +@@ -584,3 +584,16 @@ void make_password_from_salt(char *to, c + octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE); + } + ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len) ++{ ++ my_make_scrambled_password(to, password, pass_len); ++} ++SYM_16(my_make_scrambled_password); ++ ++#endif +diff -rup old/sql-common/client.c new/sql-common/client.c +--- old/sql-common/client.c 2013-11-04 20:15:10.000000000 +0100 ++++ new/sql-common/client.c 2014-01-14 12:10:27.199377537 +0100 +@@ -4847,3 +4847,136 @@ static int clear_password_auth_client(MY + + return res ? CR_ERROR : CR_OK; + } ++ ++#ifndef EMBEDDED_LIBRARY ++ ++// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions ++ ++#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") ++ ++void STDCALL symver16_mysql_close(MYSQL *mysql) ++{ ++ return mysql_close(mysql); ++} ++SYM_16(mysql_close); ++ ++ ++uint STDCALL symver16_mysql_errno(MYSQL *mysql) ++{ ++ return mysql_errno(mysql); ++} ++SYM_16(mysql_errno); ++ ++ ++const char * STDCALL symver16_mysql_error(MYSQL *mysql) ++{ ++ return mysql_error(mysql); ++} ++SYM_16(mysql_error); ++ ++ ++ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res) ++{ ++ return mysql_fetch_lengths(res); ++} ++SYM_16(mysql_fetch_lengths); ++ ++ ++MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res) ++{ ++ return mysql_fetch_row(res); ++} ++SYM_16(mysql_fetch_row); ++ ++ ++void STDCALL symver16_mysql_free_result(MYSQL_RES *result) ++{ ++ return mysql_free_result(result); ++} ++SYM_16(mysql_free_result); ++ ++ ++ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql) ++{ ++ return mysql_get_server_version(mysql); ++} ++SYM_16(mysql_get_server_version); ++ ++ ++const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused))) ++{ ++ return mysql_get_ssl_cipher(mysql); ++} ++SYM_16(mysql_get_ssl_cipher); ++ ++ ++MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql) ++{ ++ return mysql_init(mysql); ++} ++SYM_16(mysql_init); ++ ++ ++unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res) ++{ ++ return mysql_num_fields(res); ++} ++SYM_16(mysql_num_fields); ++ ++ ++my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res) ++{ ++ return mysql_num_rows(res); ++} ++SYM_16(mysql_num_rows); ++ ++ ++int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) ++{ ++ return mysql_options(mysql, option, arg); ++} ++SYM_16(mysql_options); ++ ++ ++int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length) ++{ ++ return mysql_real_query(mysql, query, length); ++} ++SYM_16(mysql_real_query); ++ ++ ++int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db) ++{ ++ return mysql_select_db(mysql, db); ++} ++SYM_16(mysql_select_db); ++ ++ ++int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length) ++{ ++ return mysql_send_query(mysql, query, length); ++} ++SYM_16(mysql_send_query); ++ ++ ++int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name) ++{ ++ return mysql_set_character_set(mysql, cs_name); ++} ++SYM_16(mysql_set_character_set); ++ ++ ++my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused))) ++{ ++ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher); ++} ++SYM_16(mysql_ssl_set); ++ ++ ++MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql) ++{ ++ return mysql_store_result(mysql); ++} ++SYM_16(mysql_store_result); ++ ++#endif diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch new file mode 100644 index 0000000..95a5277 --- /dev/null +++ b/community-mysql-5.6.16-mysql-install.patch @@ -0,0 +1,204 @@ +diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in +index 440a977..7d068fc 100644 +--- a/scripts/mysql_install_db.pl.in ++++ b/scripts/mysql_install_db.pl.in +@@ -34,13 +34,35 @@ + # + ############################################################################## + +-use Fcntl; +-use File::Basename; +-use File::Copy; +-use Getopt::Long; +-use Sys::Hostname; +-use Data::Dumper; + use strict; ++use warnings; ++ ++############################################################################## ++# Check if all needed modules are available, exit if something is missing. ++############################################################################## ++ ++BEGIN { ++ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', ++ 'Sys::Hostname', 'Data::Dumper'); ++ my @missing_mods; ++ my $req; ++ foreach $req (@req_mods) { ++ eval 'require ' . $req; ++ if ($@) { ++ push(@missing_mods, $req); ++ } else { ++ $req->import(); ++ } ++ } ++ # this avoids the confusing "BEGIN failed--compilation aborted" message ++ local $SIG{__DIE__} = sub {warn @_; exit 1}; ++ ++ if (@missing_mods) { ++ my $msg = "FATAL ERROR: please install the following Perl modules " . ++ "before executing $0:\n" . join("\n",@missing_mods)."\n"; ++ die $msg; ++ } ++} + + Getopt::Long::Configure("pass_through"); + +@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] + --help Display this help and exit. + --ldata=path The path to the MySQL data directory. Same as --datadir. + --no-defaults Don't read default options from any option file. ++ --keep-my-cnf Don't try to create my.cnf based on template. ++ Useful for systems with working, updated my.cnf. + EOF1 + if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { + print <{srcdir} and $opt->{basedir} ) + { + error($opt,"Specify either --basedir or --srcdir, not both"); + } ++if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) ++{ ++ $keep_my_cnf = 1; ++} + if ( $opt->{srcdir} ) + { + $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; +@@ -425,13 +462,18 @@ my $config_file; + my $copy_cfg_file; + + # ---------------------------------------------------------------------- +-# This will be the default config file ++# This will be the default config file (unless creation is unwanted) + # ---------------------------------------------------------------------- + + $config_file= "$basedir/my.cnf"; + + my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", + "share","share/mysql","support-files"); ++# Distros might move files ++if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { ++ $cfg_template = "@pkgdatadir@/my-default.cnf"; ++} ++ + -e $cfg_template or cannot_find_file("my-default.cnf"); + + $copy_cfg_file= $config_file; +@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.cnf/my-new.cnf/; + # Too early to print warning here, the user may not notice + } +-open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); +-if (open (CFG, "> $copy_cfg_file")) +-{ +- while () +- { +- # Remove lines beginning with # *** which are template comments +- print CFG $_ unless /^# \*\*\*/; ++ ++if ( ! $keep_my_cnf ) { ++ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); ++ if (open (CFG, "> $copy_cfg_file")) { ++ while () { ++ # Remove lines beginning with # *** which are template comments ++ print CFG $_ unless /^# \*\*\*/; ++ } ++ close CFG; ++ } else { ++ warning($opt,"Could not write to config file $copy_cfg_file: $!"); ++ $failed_write_cfg= 1; + } +- close CFG; ++ close TEMPL; + } +-else +-{ +- warning($opt,"Could not write to config file $copy_cfg_file: $!"); +- $failed_write_cfg= 1; +-} +-close TEMPL; + + # ---------------------------------------------------------------------- + # Now we can get arguments from the groups [mysqld] and [mysql_install_db] +@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) + } + + # ---------------------------------------------------------------------- +-# Create database directories mysql & test ++# Create database directory mysql + # ---------------------------------------------------------------------- + + # FIXME The shell variant uses "mkdir -p": +@@ -652,7 +693,7 @@ if ($opt_user) + } + } + +-foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) ++foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") + { + mkdir($dir, 0700) unless -d $dir; + if ($opt_user and -w "/") +@@ -846,7 +887,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) + "", + "Support MySQL by buying support/licenses at http://shop.mysql.com"); + +- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) ++ if ($keep_my_cnf) ++ { ++ report($opt, ++ "Note: new default config file not created.", ++ "Please make sure your config file is current"); ++ } ++ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) + { + report($opt, + "New default config file was created as $config_file and", From 5f2a76ba080031db4030d993b3a58bd5eb73b4b2 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Fri, 4 Apr 2014 14:46:52 +0200 Subject: [PATCH 051/274] Update to 5.6.17 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-5.6.13-truncate-file.patch | 21 -- community-mysql-5.6.16-fix-regex-werror.patch | 26 -- community-mysql-5.6.16-mysql-install.patch | 90 +---- community-mysql-innodbwarn.patch | 20 - community-mysql-install-test.patch | 6 +- community-mysql-man-pages.patch | 357 +++++++++--------- community-mysql-ssltest.patch | 30 -- community-mysql.spec | 252 +++++-------- mysql-embedded-check.c | 26 -- rh-skipped-tests-arm.list | 14 - rh-skipped-tests-base.list | 13 - sources | 2 +- 13 files changed, 282 insertions(+), 576 deletions(-) delete mode 100644 community-mysql-5.6.13-truncate-file.patch delete mode 100644 community-mysql-5.6.16-fix-regex-werror.patch delete mode 100644 community-mysql-innodbwarn.patch delete mode 100644 community-mysql-ssltest.patch delete mode 100644 mysql-embedded-check.c delete mode 100644 rh-skipped-tests-arm.list delete mode 100644 rh-skipped-tests-base.list diff --git a/.gitignore b/.gitignore index 94e6ac7..f7c6743 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /mysql-5.6.14-nodocs.tar.xz /mysql-5.6.15.tar.gz /mysql-5.6.16.tar.gz +/mysql-5.6.17.tar.gz diff --git a/community-mysql-5.6.13-truncate-file.patch b/community-mysql-5.6.13-truncate-file.patch deleted file mode 100644 index 4bbeece..0000000 --- a/community-mysql-5.6.13-truncate-file.patch +++ /dev/null @@ -1,21 +0,0 @@ -Unneccesary use of Env module in Perl code in a test - -Code used Env just to get the value of a single environment variable, -causing the test to fail on systems which does not have this -installed. This use is overkill, can easily be replaced by standard -access via the ENV hash. - -diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc ---- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200 -+++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200 -@@ -9,8 +9,7 @@ if (!$file) - let TRUNCATE_FILE= $file; - - perl; --use Env; --Env::import('TRUNCATE_FILE'); --open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file"; -+my $file= $ENV{'TRUNCATE_FILE'}; -+open FILE, '>', $file || die "Can not open file $file"; - close FILE; - EOF diff --git a/community-mysql-5.6.16-fix-regex-werror.patch b/community-mysql-5.6.16-fix-regex-werror.patch deleted file mode 100644 index 0d76ddd..0000000 --- a/community-mysql-5.6.16-fix-regex-werror.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -index 0332658..29c6f46 100644 ---- a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -+++ b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -@@ -32,7 +32,7 @@ SET(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS} -I${CMAK - - # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully - IF(CMAKE_C_FLAGS MATCHES "-Werror") -- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - # Turn -Wdeclaration-after-statement off to reduce the number of warnings - STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") -diff --git a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -index 633a175..4c0b364 100644 ---- a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -+++ b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -@@ -26,7 +26,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/plugin/innodb_memcached/innodb_memcache - - # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully - IF(CMAKE_C_FLAGS MATCHES "-Werror") -- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - # Turn -Wdeclaration-after-statement off to reduce the number of warnings - STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 95a5277..943009e 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -2,48 +2,6 @@ diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 440a977..7d068fc 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in -@@ -34,13 +34,35 @@ - # - ############################################################################## - --use Fcntl; --use File::Basename; --use File::Copy; --use Getopt::Long; --use Sys::Hostname; --use Data::Dumper; - use strict; -+use warnings; -+ -+############################################################################## -+# Check if all needed modules are available, exit if something is missing. -+############################################################################## -+ -+BEGIN { -+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', -+ 'Sys::Hostname', 'Data::Dumper'); -+ my @missing_mods; -+ my $req; -+ foreach $req (@req_mods) { -+ eval 'require ' . $req; -+ if ($@) { -+ push(@missing_mods, $req); -+ } else { -+ $req->import(); -+ } -+ } -+ # this avoids the confusing "BEGIN failed--compilation aborted" message -+ local $SIG{__DIE__} = sub {warn @_; exit 1}; -+ -+ if (@missing_mods) { -+ my $msg = "FATAL ERROR: please install the following Perl modules " . -+ "before executing $0:\n" . join("\n",@missing_mods)."\n"; -+ die $msg; -+ } -+} - - Getopt::Long::Configure("pass_through"); - @@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] --help Display this help and exit. --ldata=path The path to the MySQL data directory. Same as --datadir. @@ -69,33 +27,6 @@ index 440a977..7d068fc 100644 "rpm", "help", "random-passwords", -@@ -356,13 +382,19 @@ sub tell_root_password { - ############################################################################## - - sub generate_random_password { -- # On (at least) Linux and Solaris, a "random" device is available, use it: -- # cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1 -- # Without LC_ALL, "tr" may not know the "alnum" character class - -- # and there are user profiles which do not have this set. -- # -- my $password = `cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1`; -- chomp ($password); -+ # On Linux, Solaris, Max OS X and FreeBSD we have a random device available. -+ my $randfile = "/dev/urandom"; -+ open(FD, $randfile) || die "Can't open $randfile for reading: $!"; -+ my $password = ""; -+ my $pass_len = 16; -+ my $c; -+ while (length($password) < $pass_len) { -+ $c = getc(FD); -+ if ($c =~ /\w/) { -+ $password .= $c; -+ } -+ } -+ close(FD); - return $password; - } - @@ -399,11 +431,16 @@ $basedir= "@prefix@" if ! $basedir; # Default # ---------------------------------------------------------------------- @@ -113,7 +44,7 @@ index 440a977..7d068fc 100644 if ( $opt->{srcdir} ) { $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,13 +462,18 @@ my $config_file; +@@ -425,7 +462,7 @@ my $config_file; my $copy_cfg_file; # ---------------------------------------------------------------------- @@ -121,20 +52,21 @@ index 440a977..7d068fc 100644 +# This will be the default config file (unless creation is unwanted) # ---------------------------------------------------------------------- - $config_file= "$basedir/my.cnf"; + my $cnfext = ( $^O =~ m/^(MSWin32|cygwin)$/ ) ? "ini" : "cnf"; +@@ -434,6 +471,11 @@ $config_file= "$basedir/my.$cnfext"; - my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", - "share","share/mysql","support-files"); + my $cfg_template= find_in_basedir($opt,"file","my-default.$cnfext", + ".", "share","share/mysql","support-files"); +# Distros might move files +if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { + $cfg_template = "@pkgdatadir@/my-default.cnf"; +} + - -e $cfg_template or cannot_find_file("my-default.cnf"); + -e $cfg_template or cannot_find_file("my-default.$cnfext"); $copy_cfg_file= $config_file; -@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.cnf/my-new.cnf/; +@@ -443,22 +485,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.$cnfext/my-new.$cnfext/; # Too early to print warning here, the user may not notice } -open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); @@ -169,7 +101,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) +@@ -621,7 +662,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) } # ---------------------------------------------------------------------- @@ -178,7 +110,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # FIXME The shell variant uses "mkdir -p": -@@ -652,7 +693,7 @@ if ($opt_user) +@@ -654,7 +695,7 @@ if ($opt_user) } } @@ -187,7 +119,7 @@ index 440a977..7d068fc 100644 { mkdir($dir, 0700) unless -d $dir; if ($opt_user and -w "/") -@@ -846,7 +887,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) +@@ -848,7 +889,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) "", "Support MySQL by buying support/licenses at http://shop.mysql.com"); diff --git a/community-mysql-innodbwarn.patch b/community-mysql-innodbwarn.patch deleted file mode 100644 index c513442..0000000 --- a/community-mysql-innodbwarn.patch +++ /dev/null @@ -1,20 +0,0 @@ -Test case rpl.rpl_daedlock_innodb fails when dropping tables because some -warnings are generated in the slave server. The test is working fine when -running alone, but fails when all tests are running, so it seems not to be -so bad thing to ignore that warnings. - -http://bugs.mysql.com/bug.php?id=69458 - -diff -up mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn mysql-5.5.32/mysql-test/include/mtr_warnings.sql ---- mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn 2013-06-13 16:45:27.723525133 +0200 -+++ mysql-5.5.32/mysql-test/include/mtr_warnings.sql 2013-06-13 16:46:24.879524133 +0200 -@@ -162,6 +162,9 @@ INSERT INTO global_suppressions VALUES - ("InnoDB: Error: in RENAME TABLE table `test`.`t1`"), - ("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"), - -+ /* rpl.rpl_deadlock_innodb fails when trying DROP tables */ -+ ("InnoDB: Error: table `mysqld.2`.`#sql.*` does not exist in the InnoDB internal"), -+ - /* - BUG#32080 - Excessive warnings on Solaris: setrlimit could not - change the size of core files diff --git a/community-mysql-install-test.patch b/community-mysql-install-test.patch index a31a280..1f67132 100644 --- a/community-mysql-install-test.patch +++ b/community-mysql-install-test.patch @@ -21,16 +21,16 @@ diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README +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 ++ sudo -u mysql ./mysql-test-run --skip-test-list=platform-specific-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 ++The "--skip-test-list=platform-specific-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. ++platform-specific-tests.list. + +To clean up afterwards, remove the created "var" subdirectory, eg + sudo -u mysql rm -rf /usr/share/mysql-test/var diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index d30ed81..43fe99d 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -1,13 +1,8 @@ -Upstream bug: http://bugs.mysql.com/bug.php?id=69342 - -# Amalgamation of patches to various mysql man pages - -# ===== mysqladmin manual page ===== - -diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 ---- mysql-5.6.16/man/mysql.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysql.1 2014-02-03 15:37:23.064082223 +0100 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt +diff --git a/man/mysql.1 b/man/mysql.1 +index 2e1602c..1e1d9f3 100644 +--- a/man/mysql.1 ++++ b/man/mysql.1 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Options that Affect Option-File Handling\(r .\" mysql: help option .\" help option: mysql \fB\-\-help\fR, @@ -17,7 +12,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .sp Display a help message and exit\&. .RE -@@ -348,6 +349,21 @@ Compress all information sent between th +@@ -348,6 +349,21 @@ Compress all information sent between the client and the server if both support .ie n \{\ \h'-04'\(bu\h'+03'\c .\} @@ -39,7 +34,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .el \{\ .sp -1 .IP \(bu 2.3 -@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authenti +@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. .sp .RS 4 .ie n \{\ @@ -77,7 +72,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 \h'-04'\(bu\h'+03'\c .\} .el \{\ -@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\( +@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\(rq)\&. .el \{\ .sp -1 .IP \(bu 2.3 @@ -114,7 +109,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .\} .\" mysql: init-command option .\" init-command option: mysql -@@ -691,6 +768,21 @@ has no effect if the server does not als +@@ -691,6 +768,21 @@ has no effect if the server does not also support it\&. .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c @@ -136,7 +131,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .\} .el \{\ .sp -1 -@@ -886,6 +978,21 @@ the section called \(lqMYSQL COMMANDS\(r +@@ -911,6 +1003,21 @@ the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&. \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp @@ -158,7 +153,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password\&. If you omit the -@@ -1077,6 +1184,36 @@ If the connection to the server is lost, +@@ -1102,6 +1209,36 @@ If the connection to the server is lost, automatically try to reconnect\&. A sin \fB\-\-skip\-reconnect\fR\&. .RE .sp @@ -195,7 +190,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -1121,9 +1258,39 @@ to disable it\&. +@@ -1146,9 +1283,39 @@ to disable it\&. .if n \{\ .sp .\} @@ -235,16 +230,16 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .nr an-break-flag 1 .br .ps +1 -@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, +@@ -1305,7 +1472,7 @@ localhost, the Unix socket file to use, or, on Windows, the name of the named pi \fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR +\fB\-\-ssl\fR, specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. + Section\ \&6.3.10.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac +@@ -1481,7 +1648,7 @@ The XML output also uses an XML namespace, as shown here: .RS 4 .\} .nf @@ -253,7 +248,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 -@@ -3369,16 +3536,16 @@ statements that probably need to examine +@@ -3395,16 +3562,16 @@ statements that probably need to examine more than 1,000,000 row combinations\&. .RE .PP To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the @@ -273,10 +268,38 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 ---- mysql-5.6.16/man/mysqladmin.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqladmin.1 2014-02-03 15:31:31.984839986 +0100 -@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff --git a/man/mysql_config.1 b/man/mysql_config.1 +index 5bd4e5b..e7e11db 100644 +--- a/man/mysql_config.1 ++++ b/man/mysql_config.1 +@@ -174,6 +174,22 @@ The default TCP/IP port number, defined when configuring MySQL\&. + .sp + .RS 4 + .ie n \{\ ++.\" 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 ++.\} + \h'-04'\(bu\h'+03'\c + .\} + .el \{\ +diff --git a/man/mysqladmin.1 b/man/mysqladmin.1 +index d1a1020..111715e 100644 +--- a/man/mysqladmin.1 ++++ b/man/mysqladmin.1 +@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. .sp -1 .IP \(bu 2.3 .\} @@ -298,7 +321,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .\" mysqladmin: compress option .\" compress option: mysqladmin \fB\-\-compress\fR, -@@ -729,6 +744,37 @@ Print debugging information and memory a +@@ -729,6 +744,37 @@ Print debugging information and memory and CPU usage statistics when the program .sp The client\-side authentication plugin to use\&. See Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. @@ -336,7 +359,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .RE .sp .RS 4 -@@ -789,6 +835,21 @@ command\&. With multiple commands, conti +@@ -789,6 +835,21 @@ command\&. With multiple commands, continue even if an error occurs\&. .ie n \{\ \h'-04'\(bu\h'+03'\c .\} @@ -358,7 +381,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .el \{\ .sp -1 .IP \(bu 2.3 -@@ -862,6 +923,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guideli +@@ -887,6 +948,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guidelines for Password Security\(rq\&. You can On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. .RE .sp @@ -380,17 +403,10 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -935,6 +1011,21 @@ command\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -967,6 +1043,21 @@ command\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqladmin: shutdown-timeout option +.\" shutdown-timeout option: mysqladmin +\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR @@ -399,24 +415,6 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 ---- mysql-5.6.16/man/mysqlbinlog.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlbinlog.1 2014-02-03 15:31:31.984839986 +0100 -@@ -629,6 +629,7 @@ Do not display any of the groups listed - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -736,6 +737,22 @@ or any other MySQL program\&. - .RE - .sp - .RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} @@ -424,6 +422,25 @@ diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +.sp -1 +.IP \(bu 2.3 +.\} + .\" mysqladmin: secure-auth option + .\" secure-auth option: mysqladmin + \fB\-\-secure\-auth\fR +diff --git a/man/mysqlbinlog.1 b/man/mysqlbinlog.1 +index eead304..8e30383 100644 +--- a/man/mysqlbinlog.1 ++++ b/man/mysqlbinlog.1 +@@ -629,6 +629,7 @@ Do not display any of the groups listed in the + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -743,6 +744,22 @@ or any other MySQL program\&. + .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 @@ -433,13 +450,21 @@ diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 ---- mysql-5.6.16/man/mysqlcheck.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlcheck.1 2014-02-03 15:31:31.985839986 +0100 -@@ -456,6 +456,38 @@ Print some debugging information when th ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlbinlog: login-path option + .\" login-path option: mysqlbinlog + \fB\-\-login\-path=\fR\fB\fIname\fR\fR +diff --git a/man/mysqlcheck.1 b/man/mysqlcheck.1 +index 8f1a6ce..2cddc1f 100644 +--- a/man/mysqlcheck.1 ++++ b/man/mysqlcheck.1 +@@ -456,6 +456,38 @@ Print some debugging information when the program exits\&. .IP \(bu 2.3 .\} .\" mysqlcheck: debug-info option @@ -478,7 +503,7 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 .\" debug-info option: mysqlcheck \fB\-\-debug\-info\fR .sp -@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. O +@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. Only table names that contain special cha .\} .\" mysqlcheck: force option .\" force option: mysqlcheck @@ -500,17 +525,10 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 \fB\-\-force\fR, \fB\-f\fR .sp -@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -728,6 +775,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlcheck: print-defaults option +.\" print-defaults option: mysqlcheck +\fB\-\-print\-defaults\fR @@ -519,25 +537,6 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 +This must be given as the first argument\&. +.RE +.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 ---- mysql-5.6.16/man/mysql_config.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysql_config.1 2014-02-03 15:31:31.985839986 +0100 -@@ -174,6 +174,22 @@ The default TCP/IP port number, defined - .sp - .RS 4 - .ie n \{\ -+.\" 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 @@ -546,13 +545,14 @@ diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 +.sp -1 +.IP \(bu 2.3 +.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 ---- mysql-5.6.16/man/mysqldump.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqldump.1 2014-02-03 15:35:30.992008930 +0100 -@@ -1246,7 +1246,7 @@ statements that include column names\&. + .\" mysqlcheck: port option + .\" port option: mysqlcheck + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqldump.1 b/man/mysqldump.1 +index 9f5dad4..d92f4e6 100644 +--- a/man/mysqldump.1 ++++ b/man/mysqldump.1 +@@ -1304,7 +1304,7 @@ statements that include column names\&. .\} .\" mysqldump: create-options option .\" create-options option: mysqldump @@ -561,7 +561,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .sp Include all MySQL\-specific table options in the CREATE TABLE -@@ -1666,6 +1666,38 @@ Do not dump the given table, which must +@@ -1724,6 +1724,38 @@ Do not dump the given table, which must be specified using both the database and \fB\-d\fR .sp Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the @@ -600,7 +600,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 CREATE TABLE statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. .RE -@@ -1917,6 +1949,36 @@ for information about selectively enabli +@@ -1975,6 +2007,36 @@ for information about selectively enabling or disabling a subset of the options .IP \(bu 2.3 .\} .\" mysqldump: quick option @@ -637,7 +637,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .\" quick option: mysqldump \fB\-\-quick\fR, \fB\-q\fR -@@ -2194,6 +2256,21 @@ is on by default\&. Thus you rarely if e +@@ -2252,6 +2314,21 @@ is on by default\&. Thus you rarely if ever specify .el \{\ .sp -1 .IP \(bu 2.3 @@ -659,17 +659,10 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2371,6 +2448,21 @@ is on by default\&.) - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -2436,6 +2513,21 @@ is on by default\&.) + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqldump: print-defaults option +.\" print-defaults option: mysqldump +\fB\-\-print\-defaults\fR @@ -678,13 +671,21 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 ---- mysql-5.6.16/man/mysqlimport.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlimport.1 2014-02-03 15:36:17.680039918 +0100 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + To reverse + \fB\-\-opt\fR + for all features except index disabling and table locking, use +diff --git a/man/mysqlimport.1 b/man/mysqlimport.1 +index 9d82dab..1d231d3 100644 +--- a/man/mysqlimport.1 ++++ b/man/mysqlimport.1 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2\&. .sp -1 .IP \(bu 2.3 .\} @@ -728,7 +729,7 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 .sp Empty the table before importing the text file\&. .RE -@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE +@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE Syntax\(rq\&. Read input files locally from the client host\&. .RE .sp @@ -751,17 +752,10 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -535,6 +583,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlimport: print-defaults option +.\" print-defaults option: mysqlimport +\fB\-\-print\-defaults\fR @@ -771,13 +765,21 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 ---- mysql-5.6.16/man/mysqlshow.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlshow.1 2014-02-03 15:34:12.679955219 +0100 -@@ -173,7 +173,7 @@ This option is supported beginning with ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: port option + .\" port option: mysqlimport + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqlshow.1 b/man/mysqlshow.1 +index 0634515..0cfbfd3 100644 +--- a/man/mysqlshow.1 ++++ b/man/mysqlshow.1 +@@ -173,7 +173,7 @@ This option is supported beginning with MySQL 5\&.6\&.1\&. .\} .\" mysqlshow: character-sets-dir option .\" character-sets-dir option: mysqlshow @@ -786,7 +788,7 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. .\} .el \{\ .sp -1 @@ -825,7 +827,7 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .IP \(bu 2.3 .\} .\" mysqlshow: default-auth option -@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2 +@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2\&. Connect to the MySQL server on the given host\&. .RE .sp @@ -848,17 +850,10 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -413,6 +461,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -429,6 +477,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlshow: print-defaults option +.\" print-defaults option: mysqlshow +\fB\-\-print\-defaults\fR @@ -868,13 +863,21 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 ---- mysql-5.6.16/man/mysqlslap.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlslap.1 2014-02-03 15:31:31.989839989 +0100 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: port option + .\" port option: mysqlshow + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 +index 7c4d4e7..85a5168 100644 +--- a/man/mysqlslap.1 ++++ b/man/mysqlslap.1 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2\&. .el \{\ .sp -1 .IP \(bu 2.3 @@ -913,7 +916,7 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 .\} .\" mysqlslap: delimiter option .\" delimiter option: mysqlslap -@@ -584,6 +616,37 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl +@@ -584,6 +616,37 @@ Section\ \&6.3.8.7, \(lqThe Cleartext Client-Side Authentication Plugin\(rq\&.) \fB\-e \fR\fB\fIengine_name\fR\fR .sp The storage engine to use for creating tables\&. @@ -951,17 +954,10 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 .RE .sp .RS 4 -@@ -821,6 +884,22 @@ The file or string containing the statem - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -822,6 +885,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlslap: print-defaults option +.\" print-defaults option: mysqlslap +\fB\-\-print\-defaults\fR @@ -971,6 +967,13 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: port option + .\" port option: mysqlslap + \fB\-\-port=\fR\fB\fIport_num\fR\fR, diff --git a/community-mysql-ssltest.patch b/community-mysql-ssltest.patch deleted file mode 100644 index 6fdd271..0000000 --- a/community-mysql-ssltest.patch +++ /dev/null @@ -1,30 +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-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/community-mysql.spec b/community-mysql.spec index f0d2254..06d46e5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -12,9 +12,11 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +%global skiplist platform-specific-tests.list + Name: community-mysql -Version: 5.6.16 -Release: 2%{?dist} +Version: 5.6.17 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -29,13 +31,10 @@ Source4: mysql_config.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license -Source9: mysql-embedded-check.c Source10: mysql.tmpfiles.d Source11: mysqld.service Source12: mysqld-prepare-db-dir Source13: mysqld-wait-ready -Source14: rh-skipped-tests-base.list -Source15: rh-skipped-tests-arm.list # To track rpmlint warnings Source17: mysql-5.6.10-rpmlintrc @@ -54,11 +53,7 @@ Patch23: community-mysql-5.6.16-libmysql-version.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch -Patch28: community-mysql-5.6.13-truncate-file.patch Patch34: community-mysql-pluginerrmsg.patch -Patch35: community-mysql-rhbz1059545.patch -Patch36: community-mysql-ssltest.patch -Patch37: community-mysql-5.6.16-fix-regex-werror.patch BuildRequires: cmake BuildRequires: dos2unix @@ -144,10 +139,6 @@ Requires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): 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) Requires: perl(DBD::mysql) @@ -249,28 +240,45 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch26 -p1 %endif -%patch28 -p0 %patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 + +# Modify tests to pass on all archs +pushd mysql-test +add_test () { + echo $1 >> %{skiplist}; +} # Workaround for upstream bug #http://bugs.mysql.com/56342 -rm -f mysql-test/t/ssl_8k_key-master.opt +rm -f t/ssl_8k_key-master.opt +touch %{skiplist} -# 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 +# Archs without hw performance counter, rh 741325 +%ifarch %{arm} aarch64 sparc64 +add_test 'perfschema.func_file_io : rh 741325' +add_test 'perfschema.func_mutex : rh 741325' +add_test 'perfschema.setup_objects : rh 741325' %endif -%ifarch ppc ppc64 s390 s390x -echo "innodb.innodb_ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ps_ddl : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list + +# Archs with collation issues, bugs.mysql.com/46895 +%ifarch %{arm} aarch64 ppc %{power64} s390 s390x +add_test 'main.outfile_loaddata : 46895' +add_test 'innodb.innodb_ctype_ldml : 46895' +add_test 'main.ctype_ldml : 46895' %endif +# Archs with ps_ddl issues +%ifarch ppc s390 +add_test 'main.ps_ddl : ps_ddl issue' +add_test 'main.ps_ddl1 : ps_ddl issue' +%endif + +# Arch with other issues +%ifarch ppc +add_test 'main.audit_plugin : unknown' +add_test 'main.upgrade : unknown' +%endif +popd + %build # fail quickly and obviously if user tries to build as root %if %runselftest @@ -282,27 +290,8 @@ echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list fi %endif -CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# MySQL 4.1.10 definitely doesn't work under strict aliasing; also, -# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv -CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" -# 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 -%if %{_hardened_build} -LDFLAGS="$LDFLAGS -pie" -export LDFLAGS -%endif - -# build out of source -mkdir build -pushd build +# build out of source +mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -331,73 +320,41 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DENABLE_DTRACE=ON \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -%if %{_hardened_build} - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" -%endif + -DCMAKE_C_FLAGS="%{optflags}" \ + -DCMAKE_CXX_FLAGS="%{optflags}" \ + %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 -# Regular build will make libmysqld.a but not libmysqld.so :-( -# Upstream bug: http://bugs.mysql.com/68559 -mkdir libmysqld/work -pushd libmysqld/work -ar -x ../libmysqld.a -%{__cc} $CFLAGS $LDFLAGS -DEMBEDDED_LIBRARY -shared -Wl,-soname,libmysqld.so.18 -o libmysqld.so.18.1.0 \ - *.o \ - -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc -# This is to check that we built a complete library -cp -p %{SOURCE9} . -ln -s libmysqld.so.18.1.0 libmysqld.so.18 -%{__cc} -I../../../include -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.18 -LD_LIBRARY_PATH=. ldd ./a.out - - %install pushd build make DESTDIR=%{buildroot} install -# List the installed tree for RPM package maintenance purposes. -find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES +# multilib header support +%ifarch aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h +install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +%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 0755 %{buildroot}%{_bindir}/mysql_config - -# Multilib header hacks -# We only apply this to known Red Hat multilib arches, per bug #181335 -case $(uname -i) in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) - mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h - install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ - mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config - ;; - arm* ) - mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h - install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ - mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config - ;; - *) - ;; -esac +%ifarch %{arm} +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h +install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +%endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mysql-file-contents.patch) install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ - mkdir -p %{buildroot}/var/log touch %{buildroot}/var/log/mysqld.log @@ -405,6 +362,7 @@ mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf +mkdir %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} @@ -415,19 +373,6 @@ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf -# Remove libmysqld.a, install libmysqld.so -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a -install -m 0755 libmysqld/work/libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18.1.0 -ln -s libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18 -ln -s libmysqld.so.18 %{buildroot}%{_libdir}/mysql/libmysqld.so - -# libmysqlclient_r is no more. Upstream tries to replace it with symlinks -# but that really doesn't work (wrong soname in particular). We'll keep -# 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 %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} @@ -458,11 +403,11 @@ echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf popd # copy additional docs into build tree so %%doc will find them -cp -p %{SOURCE6} README.mysql-docs -cp -p %{SOURCE7} README.mysql-license +install -p -m 0644 %{SOURCE6} README.mysql-docs +install -p -m 0644 %{SOURCE7} README.mysql-license # 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 +install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test # Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql @@ -482,44 +427,21 @@ rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 -mkdir %{buildroot}%{_sysconfdir}/my.cnf.d - %check %if %runselftest - pushd build - # Hack to let 32- and 64-bit tests run concurrently on same build machine - case $(uname -m) in - aarch64 | ppc64 | ppc64p7 | s390x | sparc64 | x86_64 ) - MTR_BUILD_THREAD=7 - ;; - *) - MTR_BUILD_THREAD=11 - ;; - esac - - export MTR_BUILD_THREAD - - make test VERBOSE=1 - - # The cmake build scripts don't provide any simple way to control the - # options for mysql-test-run, so ignore the make target and just call it - # manually. Nonstandard options chosen are: - # --force to continue tests after a failure - # no retries please - # skip tests that are listed in rh-skipped-tests.list - # avoid redundant test runs with --binlog-format=mixed - # increase timeouts to prevent unwanted failures during mass rebuilds - # todo: enable --ssl - pushd mysql-test - cp ../../mysql-test/rh-skipped-tests.list . - ./mtr \ - --mem --parallel=auto --force --retry=0 \ - --skip-test-list=rh-skipped-tests.list \ - --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir - rm -rf var/* - popd +pushd build +make test VERBOSE=1 +pushd mysql-test +cp ../../mysql-test/%{skiplist} . +./mtr \ + --mem --parallel=auto --force --retry=0 \ + --skip-test-list=%{skiplist} \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 \ + --clean-vardir + rm -rf var/* $(readlink var) +popd +popd %endif %pre server @@ -535,21 +457,6 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d %systemd_post mysqld.service /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 - %preun server %systemd_preun mysqld.service @@ -603,7 +510,7 @@ fi # libs package because it can be used for client settings too. %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_libdir}/mysql -%{_libdir}/mysql/libmysqlclient.so.* +%{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) /etc/ld.so.conf.d/* %files common @@ -748,6 +655,19 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 04 2014 Bjorn Munch 5.6.17-1 +- Update to MySQL 5.6.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html +- libmysqld built as shared lib now supported upstream +- Remove patches now upstream: truncate-file, rhbz1059545, ssltest + and regex-werror +- Use more standard (and tested) build flags, while still respect + optflags and hardened_build +- libmysqlclient_r* symlinks are fixed upstream +- Remove sysv to systemd logic +- Rework skipping of arch specific tests +- Multiple mtr sessions are supported by default + * Mon Feb 3 2014 Honza Horak 5.6.16-2 - Rebuild -man-pages.patch to apply smoothly 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-arm.list b/rh-skipped-tests-arm.list deleted file mode 100644 index 6fb816c..0000000 --- a/rh-skipped-tests-arm.list +++ /dev/null @@ -1,14 +0,0 @@ - -# 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 - -# These tests fail in Fedora rawhide scratch build - -innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1' -main.ctype_ldml : Unknown collation: 'utf8_5624_1' -perfschema.setup_objects : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list deleted file mode 100644 index 8d92952..0000000 --- a/rh-skipped-tests-base.list +++ /dev/null @@ -1,13 +0,0 @@ -# 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 29fbcd7..6b13418 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1d3d91e8459c719bbef7c97bb499634d mysql-5.6.16.tar.gz +82114fa7c13fa3ca897b34666577d9f4 mysql-5.6.17.tar.gz From e2b0b7878f7504501eef3908e5eadaa570fffdb7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 23 Apr 2014 13:26:07 +0200 Subject: [PATCH 052/274] Fix multiple mtr sessions by Bjorn Munch --- community-mysql.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 06d46e5..ceb38ab 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.17 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -245,7 +245,7 @@ the MySQL sources. # Modify tests to pass on all archs pushd mysql-test add_test () { - echo $1 >> %{skiplist}; + echo $1 >> %{skiplist} } # Workaround for upstream bug #http://bugs.mysql.com/56342 @@ -433,6 +433,8 @@ pushd build make test VERBOSE=1 pushd mysql-test cp ../../mysql-test/%{skiplist} . +# builds might happen at the same host, avoid collision +export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ --skip-test-list=%{skiplist} \ @@ -655,6 +657,9 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 18 2014 Bjorn Munch 5.6.17-2 +- Fix multiple mtr sessions + * Fri Apr 04 2014 Bjorn Munch 5.6.17-1 - Update to MySQL 5.6.17, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html From e52ad46338079295d838e1bae9c7d5b855038ec1 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 7 Jun 2014 00:32:54 -0500 Subject: [PATCH 053/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ceb38ab..b06dff6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.17 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -657,6 +657,9 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Fri Apr 18 2014 Bjorn Munch 5.6.17-2 - Fix multiple mtr sessions From 022dacaa71023d60449e70d2cd3bb73cb5c857c9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Jun 2014 15:48:06 +0200 Subject: [PATCH 054/274] Update to MySQL 5.6.19, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html - outfile_loaddata resolved on all archs - Solaris files not installed, no need to remove - Simplify multilib install - Use install's -D option some places - Add explicit conflict with mariadb-galera-server --- .gitignore | 1 + community-mysql-rhbz1059545.patch | 17 ------------- community-mysql.spec | 41 +++++++++++++++++-------------- sources | 2 +- 4 files changed, 24 insertions(+), 37 deletions(-) delete mode 100644 community-mysql-rhbz1059545.patch diff --git a/.gitignore b/.gitignore index f7c6743..02af558 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /mysql-5.6.15.tar.gz /mysql-5.6.16.tar.gz /mysql-5.6.17.tar.gz +/mysql-5.6.19.tar.gz diff --git a/community-mysql-rhbz1059545.patch b/community-mysql-rhbz1059545.patch deleted file mode 100644 index ece8ef1..0000000 --- a/community-mysql-rhbz1059545.patch +++ /dev/null @@ -1,17 +0,0 @@ -Unsifficient limit check aims to security issue. - -MariaDB upstream fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/2502.565.64 -RHBZ#1059545 - -diff -up mysql-5.6.15/client/mysql.cc.bz1059545 mysql-5.6.15/client/mysql.cc ---- mysql-5.6.15/client/mysql.cc.bz1059545 2014-01-30 18:09:47.209588217 +0100 -+++ mysql-5.6.15/client/mysql.cc 2014-01-30 18:09:59.016581192 +0100 -@@ -1315,7 +1315,7 @@ int main(int argc,char *argv[]) - - put_info("Welcome to the MySQL monitor. Commands end with ; or \\g.", - INFO_INFO); -- sprintf((char*) glob_buffer.ptr(), -+ my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(), - "Your MySQL connection id is %lu\nServer version: %s\n", - mysql_thread_id(&mysql), server_version_string(&mysql)); - put_info((char*) glob_buffer.ptr(),INFO_INFO); diff --git a/community-mysql.spec b/community-mysql.spec index b06dff6..b771873 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -15,8 +15,8 @@ %global skiplist platform-specific-tests.list Name: community-mysql -Version: 5.6.17 -Release: 3%{?dist} +Version: 5.6.19 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -145,6 +145,7 @@ Requires: perl(DBD::mysql) Provides: mysql-server = %{version}-%{release} Provides: mysql-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-server +Conflicts: mariadb-galera-server %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -261,7 +262,6 @@ add_test 'perfschema.setup_objects : rh 741325' # Archs with collation issues, bugs.mysql.com/46895 %ifarch %{arm} aarch64 ppc %{power64} s390 s390x -add_test 'main.outfile_loaddata : 46895' add_test 'innodb.innodb_ctype_ldml : 46895' add_test 'main.ctype_ldml : 46895' %endif @@ -336,15 +336,12 @@ pushd build make DESTDIR=%{buildroot} install # multilib header support -%ifarch aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h -install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ -mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config -%endif - +unamei=$(uname -i) %ifarch %{arm} -mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h +unamei=arm +%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 install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config @@ -365,13 +362,11 @@ install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf mkdir %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup -mkdir -p %{buildroot}%{_unitdir} -install -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/ +install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d -install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf +install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -386,7 +381,6 @@ rm -f %{buildroot}%{_datadir}/%{name}/binary-configure rm -f %{buildroot}%{_datadir}/%{name}/magic rm -f %{buildroot}%{_datadir}/%{name}/mysql.server rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server -rm -rf %{buildroot}%{_datadir}/%{name}/solaris rm -f %{buildroot}%{_mandir}/man1/comp_err.1* rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* @@ -614,9 +608,9 @@ popd %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/mysqld.service -%{_libexecdir}/mysqld-prepare-db-dir -%{_libexecdir}/mysqld-wait-ready +%{_unitdir}/%{basename:%SOURCE11} +%{_libexecdir}/%{basename:%SOURCE12} +%{_libexecdir}/%{basename:%SOURCE13} %{_prefix}/lib/tmpfiles.d/%{name}.conf %attr(0755,mysql,mysql) %dir /var/run/mysqld @@ -657,6 +651,15 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Wed Jun 11 2014 Bjorn Munch - 5.6.19-1 +- Update to MySQL 5.6.19, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html +- outfile_loaddata resolved on all archs +- Solaris files not installed, no need to remove +- Simplify multilib install +- Use install's -D option some places +- Add explicit conflict with mariadb-galera-server + * Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 6b13418..660dc7b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -82114fa7c13fa3ca897b34666577d9f4 mysql-5.6.17.tar.gz +a663c5b3c710043c74f97902a1ed62c0 mysql-5.6.19.tar.gz From fbe934cf742b0dcd522eeba447398e870603f7e8 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Mon, 23 Jun 2014 11:12:32 +0200 Subject: [PATCH 055/274] Fix aarch64 build, rebase cipherspec patch Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- community-mysql-5.6.11-cipherspec.patch | 46 ++++++-- ...unity-mysql-5.6.19-gcc49-aarch64-opt.patch | 102 ++++++++++++++++++ community-mysql.spec | 8 +- 3 files changed, 149 insertions(+), 7 deletions(-) create mode 100644 community-mysql-5.6.19-gcc49-aarch64-opt.patch diff --git a/community-mysql-5.6.11-cipherspec.patch b/community-mysql-5.6.11-cipherspec.patch index a79e5b3..b0c5b09 100644 --- a/community-mysql-5.6.11-cipherspec.patch +++ b/community-mysql-5.6.11-cipherspec.patch @@ -5,10 +5,10 @@ and tests are adjusted to specify the expected cipher explicitly. Upstream bug report: http://bugs.mysql.com/bug.php?id=64461 diff --git a/client/mysqltest.cc b/client/mysqltest.cc -index b6c8643..0e40b0d 100644 +index 2def9bd..128dc00 100644 --- a/client/mysqltest.cc +++ b/client/mysqltest.cc -@@ -5496,6 +5496,7 @@ void do_connect(struct st_command *command) +@@ -5503,6 +5503,7 @@ void do_connect(struct st_command *command) my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; my_bool con_secure_auth= 1; struct st_connection* con_slot; @@ -16,7 +16,7 @@ index b6c8643..0e40b0d 100644 static DYNAMIC_STRING ds_connection_name; static DYNAMIC_STRING ds_host; -@@ -5588,6 +5589,8 @@ void do_connect(struct st_command *command) +@@ -5595,6 +5596,8 @@ void do_connect(struct st_command *command) con_cleartext_enable= 1; else if (!strncmp(con_options, "SKIPSECUREAUTH",14)) con_secure_auth= 0; @@ -25,7 +25,7 @@ index b6c8643..0e40b0d 100644 else die("Illegal option to connect: %.*s", (int) (end - con_options), con_options); -@@ -5635,8 +5638,11 @@ void do_connect(struct st_command *command) +@@ -5642,8 +5645,11 @@ void do_connect(struct st_command *command) if (con_ssl) { #if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY) @@ -38,8 +38,21 @@ index b6c8643..0e40b0d 100644 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 --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result +index a767a71..3c1ee27 100644 +--- a/mysql-test/r/openssl_1.result ++++ b/mysql-test/r/openssl_1.result +@@ -197,8 +197,6 @@ Variable_name Value + Ssl_cipher EDH-RSA-DES-CBC3-SHA + Variable_name Value + Ssl_cipher AES256-SHA +-Variable_name Value +-Ssl_cipher RC4-SHA + select 'is still running; no cipher request crashed the server' as result from dual; + result + is still running; no cipher request crashed the server diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test -index 3e907f1..02b89ad 100644 +index 426de1e..f8c6203 100644 --- a/mysql-test/t/openssl_1.test +++ b/mysql-test/t/openssl_1.test @@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA @@ -70,7 +83,15 @@ index 3e907f1..02b89ad 100644 --echo End of 5.0 tests # -@@ -250,7 +250,7 @@ select 'is still running; no cipher request crashed the server' as result from d +@@ -215,7 +215,6 @@ DROP TABLE t1; + --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=AES256-SHA +---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA + --disable_query_log + --disable_result_log + +@@ -250,7 +249,7 @@ select 'is still running; no cipher request crashed the server' as result from d GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; FLUSH PRIVILEGES; @@ -79,6 +100,19 @@ index 3e907f1..02b89ad 100644 SHOW STATUS LIKE 'Ssl_cipher'; disconnect con1; connection default; +diff --git a/mysql-test/t/plugin_auth_sha256_tls.test b/mysql-test/t/plugin_auth_sha256_tls.test +index f99df8a..1b38fda 100644 +--- a/mysql-test/t/plugin_auth_sha256_tls.test ++++ b/mysql-test/t/plugin_auth_sha256_tls.test +@@ -1,7 +1,7 @@ + --source include/not_embedded.inc + --source include/have_ssl.inc + +-connect (ssl_con,localhost,root,,,,,SSL); ++connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); + SHOW STATUS LIKE 'Ssl_cipher'; + + CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test index ea8be39..c61ca8b 100644 --- a/mysql-test/t/ssl.test diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch new file mode 100644 index 0000000..ed3e295 --- /dev/null +++ b/community-mysql-5.6.19-gcc49-aarch64-opt.patch @@ -0,0 +1,102 @@ +diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc +index 405364a..ed3bef1 100644 +--- a/storage/perfschema/pfs_account.cc ++++ b/storage/perfschema/pfs_account.cc +@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_key *key, + key->m_key_length= ptr - &key->m_hash_key[0]; + } + ++#if defined(__aarch64__) ++PFS_account * ++find_or_create_account(PFS_thread *thread, ++ const char *username, uint username_length, ++ const char *hostname, uint hostname_length) __attribute__((optimize (1))); ++#endif ++ + PFS_account * + find_or_create_account(PFS_thread *thread, + const char *username, uint username_length, +diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc +index addfac1..68e76cd 100644 +--- a/storage/perfschema/pfs_digest.cc ++++ b/storage/perfschema/pfs_digest.cc +@@ -168,6 +168,14 @@ static LF_PINS* get_digest_hash_pins(PFS_thread *thread) + return thread->m_digest_hash_pins; + } + ++#if defined(__aarch64__) ++PFS_statement_stat* ++find_or_create_digest(PFS_thread *thread, ++ PSI_digest_storage *digest_storage, ++ const char *schema_name, ++ uint schema_name_length) __attribute__((optimize (1))); ++#endif ++ + PFS_statement_stat* + find_or_create_digest(PFS_thread *thread, + PSI_digest_storage *digest_storage, +diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc +index 0c6f5cf..fc624d7 100644 +--- a/storage/perfschema/pfs_host.cc ++++ b/storage/perfschema/pfs_host.cc +@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *key, + key->m_key_length= ptr - &key->m_hash_key[0]; + } + ++#if defined(__aarch64__) ++PFS_host *find_or_create_host(PFS_thread *thread, ++ const char *hostname, uint hostname_length) __attribute__((optimize (1))); ++#endif ++ + PFS_host *find_or_create_host(PFS_thread *thread, + const char *hostname, uint hostname_length) + { +diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc +index cf0e6fd..8682e04 100644 +--- a/storage/perfschema/pfs_instr.cc ++++ b/storage/perfschema/pfs_instr.cc +@@ -1149,6 +1149,11 @@ LF_PINS* get_filename_hash_pins(PFS_thread *thread) + @param create create a file instance if none found + @return a file instance, or NULL + */ ++#if defined(__aarch64__) ++PFS_file* ++find_or_create_file(PFS_thread *thread, PFS_file_class *klass, ++ const char *filename, uint len, bool create) __attribute__((optimize (1))); ++#endif + PFS_file* + find_or_create_file(PFS_thread *thread, PFS_file_class *klass, + const char *filename, uint len, bool create) +diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc +index 4d73396..139a2db 100644 +--- a/storage/perfschema/pfs_instr_class.cc ++++ b/storage/perfschema/pfs_instr_class.cc +@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share) + @param share table share + @return a table share, or NULL + */ ++#if defined(__aarch64__) ++PFS_table_share* find_or_create_table_share(PFS_thread *thread, ++ bool temporary, ++ const TABLE_SHARE *share) __attribute__((optimize (1))); ++#endif + PFS_table_share* find_or_create_table_share(PFS_thread *thread, + bool temporary, + const TABLE_SHARE *share) +diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc +index 9f53702..2f418a7 100644 +--- a/storage/perfschema/pfs_user.cc ++++ b/storage/perfschema/pfs_user.cc +@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *key, + key->m_key_length= ptr - &key->m_hash_key[0]; + } + ++#if defined(__aarch64__) ++PFS_user * ++find_or_create_user(PFS_thread *thread, ++ const char *username, uint username_length) __attribute__((optimize (1))); ++#endif ++ + PFS_user * + find_or_create_user(PFS_thread *thread, + const char *username, uint username_length) diff --git a/community-mysql.spec b/community-mysql.spec index b771873..603d45f 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.19 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -54,6 +54,7 @@ Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch Patch34: community-mysql-pluginerrmsg.patch +Patch35: community-mysql-5.6.19-gcc49-aarch64-opt.patch BuildRequires: cmake BuildRequires: dos2unix @@ -242,6 +243,7 @@ the MySQL sources. %patch26 -p1 %endif %patch34 -p1 +%patch35 -p1 # Modify tests to pass on all archs pushd mysql-test @@ -651,6 +653,10 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 +- Fix build on aarch64 +- Rebase cipherspec patch + * Wed Jun 11 2014 Bjorn Munch - 5.6.19-1 - Update to MySQL 5.6.19, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-19.html From 1d0f053fd6e942127f497f33e472e3ac9e92b279 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 27 Jun 2014 13:10:54 +0200 Subject: [PATCH 056/274] Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation --- community-mysql.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 603d45f..b3d696d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -16,7 +16,7 @@ Name: community-mysql Version: 5.6.19 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -145,6 +145,8 @@ Requires: perl(DBI) Requires: perl(DBD::mysql) Provides: mysql-server = %{version}-%{release} Provides: mysql-server%{?_isa} = %{version}-%{release} +Provides: mysql-compat-server = %{version}-%{release} +Provides: mysql-compat-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -653,6 +655,10 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Jun 27 2014 Honza Horak - 5.6.19-3 +- Add mysql-compat-server symbol, common symbol for arbitrary MySQL + implementation + * Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 - Fix build on aarch64 - Rebase cipherspec patch From 5ec838ab2ea2f43e53a701373263c127c1800537 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 27 Jun 2014 17:20:46 +0200 Subject: [PATCH 057/274] Require /etc/my.cnf instead of shipping it --- community-mysql.spec | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index b3d696d..03a0ee7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -14,6 +14,9 @@ %global skiplist platform-specific-tests.list +# When there is already another +%global ship_my_cnf 0 + Name: community-mysql Version: 5.6.19 Release: 3%{?dist} @@ -118,6 +121,9 @@ MySQL server. %package common Summary: The shared files required for MySQL server and client Group: Applications/Databases +%if ! %{ship_my_cnf} +Requires: %{_sysconfdir}/my.cnf +%endif %description common The mysql-common package provides the essential shared files for any @@ -362,8 +368,10 @@ touch %{buildroot}/var/log/mysqld.log mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql -install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf -mkdir %{buildroot}%{_sysconfdir}/my.cnf.d +%if %{ship_my_cnf} +install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf +%endif +mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} @@ -508,7 +516,9 @@ popd %doc README COPYING README.mysql-license # 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 +%endif %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) /etc/ld.so.conf.d/* @@ -658,6 +668,7 @@ popd * Fri Jun 27 2014 Honza Horak - 5.6.19-3 - Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation +- Require /etc/my.cnf instead of shipping it * Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 - Fix build on aarch64 From dff09aeb869524b0caef86825f04e7a5d99cd80e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 30 Jun 2014 12:18:28 +0200 Subject: [PATCH 058/274] Server requires any compatible mysql-compat-client package --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 03a0ee7..6d2c1d8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -88,6 +88,8 @@ Requires: fileutils Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql = %{version}-%{release} Provides: mysql%{?_isa} = %{version}-%{release} +Provides: mysql-compat-client = %{version}-%{release} +Provides: mysql-compat-client%{?_isa} = %{version}-%{release} Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -136,7 +138,7 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %{version}-%{release} -Requires: mysql%{?_isa} +Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd @@ -669,6 +671,7 @@ popd - Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation - Require /etc/my.cnf instead of shipping it +- Server requires any compatible mysql-compat-client package * Thu Jun 12 2014 Bjorn Munch - 5.6.19-2 - Fix build on aarch64 From 46a4eed920eb3ccb1ffc719603e99cad98119ea9 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 30 Jun 2014 14:33:25 +0200 Subject: [PATCH 059/274] Remove trailing whitespace --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6d2c1d8..a8c2649 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -138,7 +138,7 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %{version}-%{release} -Requires: mysql-compat-client%{?_isa} +Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd From 43d8322a00441fd1141c94e56b375c487abd9812 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Jul 2014 00:39:31 +0200 Subject: [PATCH 060/274] Port some latest changes from MariaDB package to sync those packages Error messages now provided by a separate package (thanks Alexander Barkov) --- community-mysql.spec | 107 ++++++++++++-------- mysql_config.sh => mysql_config_multilib.sh | 0 2 files changed, 66 insertions(+), 41 deletions(-) rename mysql_config.sh => mysql_config_multilib.sh (100%) diff --git a/community-mysql.spec b/community-mysql.spec index a8c2649..ccf7b23 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -6,6 +6,7 @@ # set to 1 to enable %global with_shared_lib_major_hack 1 +# use Full RELRO for all binaries (RHBZ#1092548) %global _hardened_build 1 # By default, patch(1) creates backup files when chunks apply with offsets. @@ -14,12 +15,16 @@ %global skiplist platform-specific-tests.list -# When there is already another +# 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 0 Name: community-mysql Version: 5.6.19 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -30,7 +35,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz Source3: my.cnf -Source4: mysql_config.sh +Source4: mysql_config_multilib.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license @@ -83,8 +88,8 @@ BuildRequires: perl(Time::HiRes) BuildRequires: systemd Requires: bash -Requires: grep Requires: fileutils +Requires: grep Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql = %{version}-%{release} Provides: mysql%{?_isa} = %{version}-%{release} @@ -95,8 +100,14 @@ Conflicts: mariadb Obsoletes: mysql-cluster < 5.1.44 # 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 ^(/usr/share/(mysql|mysql-test)/.*|%{_libdir}/mysql/plugin/.*\\.so)$ +%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 %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -133,6 +144,17 @@ MySQL program. You will need to install this package to use any other MySQL 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 MySQL daemon and the +embedded server. You will need to install this package to use any of those +MySQL packages. + %package server Summary: The MySQL server and related files Group: Applications/Databases @@ -140,14 +162,13 @@ Group: Applications/Databases # note: no version here = %{version}-%{release} Requires: mysql-compat-client%{?_isa} Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} Requires: sh-utils Requires(pre): /usr/sbin/useradd # We require this to be present for %%{_prefix}/lib/tmpfiles.d Requires: systemd # Make sure it's there when scriptlets run, too -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd +%{?systemd_requires: %systemd_requires} # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) @@ -182,6 +203,8 @@ developing MySQL client applications. %package embedded Summary: MySQL as an embeddable library Group: Applications/Databases +Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} Provides: mysql-embedded = %{version}-%{release} Provides: mysql-embedded%{?_isa} = %{version}-%{release} @@ -222,13 +245,13 @@ MySQL. Summary: The test suite distributed with MySQL Group: Applications/Databases Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} Requires: %{name}-server%{?_isa} = %{version}-%{release} Conflicts: mariadb-test Provides: mysql-test = %{version}-%{release} Provides: mysql-test%{?_isa} = %{version}-%{release} -%description test +%description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. @@ -314,6 +337,9 @@ cmake .. -DBUILD_CONFIG=mysql_release \ %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_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ @@ -326,8 +352,8 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{name} \ - -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_INNODB_MEMCACHED=ON \ @@ -348,6 +374,7 @@ pushd build make DESTDIR=%{buildroot} install # multilib header support +# we only apply this to known Red Hat multilib arches, per bug #181335 unamei=$(uname -i) %ifarch %{arm} unamei=arm @@ -364,23 +391,22 @@ install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -mkdir -p %{buildroot}/var/log -touch %{buildroot}/var/log/mysqld.log +mkdir -p %{buildroot}%{_localstatedir}/log +touch %{buildroot}%{_localstatedir}/log/mysqld.log -mkdir -p %{buildroot}/var/run/mysqld -install -p -m 0755 -d %{buildroot}/var/lib/mysql +mkdir -p %{buildroot}%{_localstatedir}/run/mysqld +install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql %if %{ship_my_cnf} install -D -p -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/my.cnf %endif -mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup install -D -p -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ -install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf +install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_tmpfilesdir}/%{name}.conf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -456,7 +482,7 @@ popd %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 %{_localstatedir}/lib/mysql -s /bin/bash \ -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %post libs -p /sbin/ldconfig @@ -465,7 +491,7 @@ popd %post server %systemd_post mysqld.service -/bin/touch /var/log/mysqld.log +/bin/touch %{_localstatedir}/log/mysqld.log %preun server %systemd_preun mysqld.service @@ -478,13 +504,10 @@ popd %systemd_postun_with_restart mysqld.service %files -%doc README COPYING README.mysql-license %doc README.mysql-docs %{_bindir}/msql2mysql %{_bindir}/mysql -%{_bindir}/mysql_config -%{_bindir}/mysql_config-%{__isa_bits} %{_bindir}/mysql_config_editor %{_bindir}/mysql_find_rows %{_bindir}/mysql_waitpid @@ -500,7 +523,6 @@ popd %{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* -%{_mandir}/man1/mysql_config.1* %{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_waitpid.1* @@ -515,19 +537,23 @@ popd %{_mandir}/man1/my_print_defaults.1* %files libs +%dir %{_libdir}/mysql +%{_libdir}/mysql/libmysqlclient*.so.* +%config(noreplace) %{_sysconfdir}/ld.so.conf.d/* + +%files common %doc README COPYING README.mysql-license +%doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the # libs package because it can be used for client settings too. %if %{ship_my_cnf} %config(noreplace) %{_sysconfdir}/my.cnf -%endif -%dir %{_libdir}/mysql -%{_libdir}/mysql/libmysqlclient*.so.* -%config(noreplace) /etc/ld.so.conf.d/* - -%files common %dir %{_sysconfdir}/my.cnf.d +%endif %dir %{_datadir}/%{name} +%{_datadir}/%{name}/charsets + +%files errmsg %{_datadir}/%{name}/english %lang(bg) %{_datadir}/%{name}/bulgarian %lang(cs) %{_datadir}/%{name}/czech @@ -552,10 +578,8 @@ popd %lang(es) %{_datadir}/%{name}/spanish %lang(sv) %{_datadir}/%{name}/swedish %lang(uk) %{_datadir}/%{name}/ukrainian -%{_datadir}/%{name}/charsets %files server -%doc README COPYING README.mysql-license %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog @@ -624,31 +648,30 @@ popd %{_datadir}/%{name}/mysql_system_tables_data.sql %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf + %{_unitdir}/%{basename:%SOURCE11} %{_libexecdir}/%{basename:%SOURCE12} %{_libexecdir}/%{basename:%SOURCE13} -%{_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 +%{_tmpfilesdir}/%{name}.conf +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log %config(noreplace) %{_sysconfdir}/logrotate.d/mysqld %files devel -%doc README COPYING README.mysql-license %{_bindir}/mysql_config %{_bindir}/mysql_config-%{__isa_bits} %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%{_mandir}/man1/mysql_config.1* %files embedded -%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so.* %files embedded-devel -%doc README COPYING README.mysql-license %{_libdir}/mysql/libmysqld.so %{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest_embedded @@ -656,17 +679,19 @@ popd %{_mandir}/man1/mysqltest_embedded.1* %files bench -%doc README COPYING README.mysql-license %{_datadir}/sql-bench %files test -%doc README COPYING README.mysql-license %{_bindir}/mysql_client_test %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %changelog +* Mon Jul 21 2014 Honza Horak - 5.6.19-4 +- Port some latest changes from MariaDB package to sync those packages +- Error messages now provided by a separate package (thanks Alexander Barkov) + * Fri Jun 27 2014 Honza Horak - 5.6.19-3 - Add mysql-compat-server symbol, common symbol for arbitrary MySQL implementation diff --git a/mysql_config.sh b/mysql_config_multilib.sh similarity index 100% rename from mysql_config.sh rename to mysql_config_multilib.sh From 3e847dbc5fb0dc81a62534a2df9a4421a3b838c0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 17 Jul 2014 16:57:05 +0200 Subject: [PATCH 061/274] Remove unnecessary requirement, it is generated automatically --- community-mysql.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ccf7b23..ea04688 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -119,7 +119,6 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: /sbin/ldconfig Requires: %{name}-common%{?_isa} = %{version}-%{release} Provides: mysql-libs = %{version}-%{release} Provides: mysql-libs%{?_isa} = %{version}-%{release} From 99fd710fa55325d3067c9c52add6bfb6ddb57bb1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 22 Jul 2014 10:27:55 +0200 Subject: [PATCH 062/274] Port scripts for systemd unit from MariaDB --- community-mysql-scripts.patch | 32 +++++++++ community-mysql.spec | 50 ++++++++----- mysql.tmpfiles.d | 1 - mysql.tmpfiles.d.in | 1 + mysqld-prepare-db-dir | 82 --------------------- mysqld-prepare-db-dir.sh | 87 +++++++++++++++++++++++ mysqld-wait-ready => mysqld-wait-ready.sh | 43 +++++------ mysqld.service => mysqld.service.in | 9 +-- 8 files changed, 175 insertions(+), 130 deletions(-) create mode 100644 community-mysql-scripts.patch delete mode 100644 mysql.tmpfiles.d create mode 100644 mysql.tmpfiles.d.in delete mode 100644 mysqld-prepare-db-dir create mode 100644 mysqld-prepare-db-dir.sh rename mysqld-wait-ready => mysqld-wait-ready.sh (53%) rename mysqld.service => mysqld.service.in (82%) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch new file mode 100644 index 0000000..f658b33 --- /dev/null +++ b/community-mysql-scripts.patch @@ -0,0 +1,32 @@ +diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt +--- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 ++++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 +@@ -381,6 +381,28 @@ ELSE() + ENDIF() + INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) + ENDFOREACH() ++ ++ # files for systemd ++ SET(SYSTEMD_SCRIPTS ++ mysql.tmpfiles.d ++ mysqld.service ++ mysqld-prepare-db-dir ++ mysqld-wait-ready ++ mysqld-check-socket ++ mysqld-scripts-common ++ ) ++ 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 diff --git a/community-mysql.spec b/community-mysql.spec index ea04688..a738f19 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -22,9 +22,12 @@ # my.cnf and my.cnf.d %global ship_my_cnf 0 +# Name for the systemd unit file +%global daemon_name mysqld.service + Name: community-mysql Version: 5.6.19 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -39,10 +42,12 @@ Source4: mysql_config_multilib.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license -Source10: mysql.tmpfiles.d -Source11: mysqld.service -Source12: mysqld-prepare-db-dir -Source13: mysqld-wait-ready +Source10: mysql.tmpfiles.d.in +Source11: mysqld.service.in +Source12: mysqld-prepare-db-dir.sh +Source13: mysqld-wait-ready.sh +Source14: mysqld-check-socket.sh +Source15: mysqld-scripts-common.sh # To track rpmlint warnings Source17: mysql-5.6.10-rpmlintrc @@ -63,6 +68,7 @@ Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch Patch34: community-mysql-pluginerrmsg.patch Patch35: community-mysql-5.6.19-gcc49-aarch64-opt.patch +Patch37: community-mysql-scripts.patch BuildRequires: cmake BuildRequires: dos2unix @@ -147,7 +153,7 @@ MySQL package. Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release} +Requires: %{name}-common%{?_isa} = %{version}-%{release} %description errmsg The package provides error messages files for the MySQL daemon and the @@ -276,6 +282,7 @@ the MySQL sources. %endif %patch34 -p1 %patch35 -p1 +%patch37 -p1 # Modify tests to pass on all archs pushd mysql-test @@ -313,6 +320,9 @@ add_test 'main.upgrade : unknown' %endif popd +cp %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ + %{SOURCE15} scripts + %build # fail quickly and obviously if user tries to build as root %if %runselftest @@ -332,6 +342,7 @@ mkdir build && pushd build cmake .. -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ + -DDAEMON_NAME="%{daemon_name}" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ @@ -401,11 +412,13 @@ 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 %{SOURCE11} %{buildroot}%{_unitdir}/%{basename:%SOURCE11} -install -p -m 755 %{SOURCE12} %{buildroot}%{_libexecdir}/ -install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ +install -D -p -m 644 scripts/mysqld.service %{buildroot}%{_unitdir}/%{daemon_name} +install -p -m 755 scripts/mysqld-prepare-db-dir %{buildroot}%{_libexecdir}/mysqld-prepare-db-dir +install -p -m 755 scripts/mysqld-wait-ready %{buildroot}%{_libexecdir}/mysqld-wait-ready +install -p -m 755 scripts/mysqld-check-socket %{buildroot}%{_libexecdir}/mysqld-check-socket +install -p -m 644 scripts/mysqld-scripts-common %{buildroot}%{_libexecdir}/mysqld-scripts-common -install -D -p -m 0644 %{SOURCE10} %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -489,18 +502,18 @@ popd %post embedded -p /sbin/ldconfig %post server -%systemd_post mysqld.service +%systemd_post %{daemon_name} /bin/touch %{_localstatedir}/log/mysqld.log %preun server -%systemd_preun mysqld.service +%systemd_preun %{daemon_name} %postun libs -p /sbin/ldconfig %postun embedded -p /sbin/ldconfig %postun server -%systemd_postun_with_restart mysqld.service +%systemd_postun_with_restart %{daemon_name} %files %doc README.mysql-docs @@ -648,9 +661,11 @@ popd %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/%{basename:%SOURCE11} -%{_libexecdir}/%{basename:%SOURCE12} -%{_libexecdir}/%{basename:%SOURCE13} +%{_unitdir}/%{daemon_name} +%{_libexecdir}/mysqld-prepare-db-dir +%{_libexecdir}/mysqld-wait-ready +%{_libexecdir}/mysqld-check-socket +%{_libexecdir}/mysqld-scripts-common %{_tmpfilesdir}/%{name}.conf %attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld @@ -687,6 +702,9 @@ popd %{_mandir}/man1/mysql_client_test.1* %changelog +* Tue Jul 22 2014 Honza Horak - 5.6.19-5 +- Port scripts for systemd unit from MariaDB + * Mon Jul 21 2014 Honza Horak - 5.6.19-4 - Port some latest changes from MariaDB package to sync those packages - Error messages now provided by a separate package (thanks Alexander Barkov) diff --git a/mysql.tmpfiles.d b/mysql.tmpfiles.d deleted file mode 100644 index 74cd5f8..0000000 --- a/mysql.tmpfiles.d +++ /dev/null @@ -1 +0,0 @@ -d /var/run/mysqld 0755 mysql mysql - diff --git a/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in new file mode 100644 index 0000000..0698a19 --- /dev/null +++ b/mysql.tmpfiles.d.in @@ -0,0 +1 @@ +d /var/run/@RPM_PACKAGE_PREFIX@mysqld 0755 mysql mysql - diff --git a/mysqld-prepare-db-dir b/mysqld-prepare-db-dir deleted file mode 100644 index f73bc66..0000000 --- a/mysqld-prepare-db-dir +++ /dev/null @@ -1,82 +0,0 @@ -#!/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-prepare-db-dir.sh b/mysqld-prepare-db-dir.sh new file mode 100644 index 0000000..8581a5f --- /dev/null +++ b/mysqld-prepare-db-dir.sh @@ -0,0 +1,87 @@ +#!/bin/sh + +# 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" + +# If two args given first is user, second is group +# otherwise the arg is the systemd service file +if [ "$#" -eq 2 ] +then + 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 + + 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 +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" + +# 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" + @bindir@/mysql_install_db --datadir="$datadir" --user="$myuser" + ret=$? + if [ $ret -ne 0 ] ; then + echo "Initialization of MySQL 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 + 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.sh similarity index 53% rename from mysqld-wait-ready rename to mysqld-wait-ready.sh index 9e5d3e4..a5356c2 100644 --- a/mysqld-wait-ready +++ b/mysqld-wait-ready.sh @@ -1,55 +1,44 @@ #!/bin/sh +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 # 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 - RESPONSE=`/usr/bin/mysqladmin --no-defaults --socket="$socketfile" --user=UNKNOWN_MYSQL_USER ping 2>&1` + # 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 + 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 + echo "Cannot check for MySQL 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 - # Check process still exists - if ! /bin/kill -0 $daemon_pid 2>/dev/null; then - ret=1 - break - fi sleep 1 done diff --git a/mysqld.service b/mysqld.service.in similarity index 82% rename from mysqld.service rename to mysqld.service.in index 3193ce2..d3f550c 100644 --- a/mysqld.service +++ b/mysqld.service.in @@ -18,7 +18,7 @@ # though /lib/... will still work. [Unit] -Description=MySQL database server +Description=MySQL @MAJOR_VERSION@.@MINOR_VERSION@ database server After=syslog.target After=network.target @@ -27,11 +27,12 @@ Type=simple User=mysql Group=mysql -ExecStartPre=/usr/libexec/mysqld-prepare-db-dir %n +ExecStartPre=@libexecdir@/mariadb-check-socket +ExecStartPre=@libexecdir@/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 +ExecStart=@bindir@/mysqld_safe --basedir=/usr +ExecStartPost=@libexecdir@/mysqld-wait-ready $MAINPID # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 75032c40af22a636a23bf5dc7c0eff089e52cef7 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 24 Jul 2014 10:00:55 +0200 Subject: [PATCH 063/274] Spec rewrite to be more similar to oterh MySQL implementations --- ....patch => community-mysql-cipherspec.patch | 0 community-mysql-scripts.patch | 14 +- community-mysql.spec | 427 +++++++++++++----- mysql-check-socket.sh | 39 ++ ...epare-db-dir.sh => mysql-prepare-db-dir.sh | 8 +- mysql-scripts-common.sh | 58 +++ mysqld-wait-ready.sh => mysql-wait-ready.sh | 4 +- mysql.init.in | 177 ++++++++ mysql.service.in | 49 ++ mysql.tmpfiles.d.in | 2 +- mysql_config_multilib.sh | 8 +- mysqld.service.in | 44 -- 12 files changed, 656 insertions(+), 174 deletions(-) rename community-mysql-5.6.11-cipherspec.patch => community-mysql-cipherspec.patch (100%) create mode 100644 mysql-check-socket.sh rename mysqld-prepare-db-dir.sh => mysql-prepare-db-dir.sh (91%) create mode 100755 mysql-scripts-common.sh rename mysqld-wait-ready.sh => mysql-wait-ready.sh (87%) create mode 100644 mysql.init.in create mode 100644 mysql.service.in delete mode 100644 mysqld.service.in diff --git a/community-mysql-5.6.11-cipherspec.patch b/community-mysql-cipherspec.patch similarity index 100% rename from community-mysql-5.6.11-cipherspec.patch rename to community-mysql-cipherspec.patch diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index f658b33..7dba8b9 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,28 @@ ELSE() +@@ -381,6 +381,30 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -9,11 +9,13 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + # files for systemd + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d -+ mysqld.service -+ mysqld-prepare-db-dir -+ mysqld-wait-ready -+ mysqld-check-socket -+ mysqld-scripts-common ++ mysql.service ++ mysql-prepare-db-dir ++ mysql-wait-ready ++ mysql-check-socket ++ mysql-scripts-common ++ mysql_config_multilib ++ mysql.init + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/community-mysql.spec b/community-mysql.spec index a738f19..6c21ccf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,3 +1,6 @@ +# Name of the package without any prefixes +%global pkgname community-mysql + # 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) @@ -22,10 +25,40 @@ # my.cnf and my.cnf.d %global ship_my_cnf 0 -# Name for the systemd unit file -%global daemon_name mysqld.service +# 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 -Name: community-mysql +# Include files for SysV init or systemd +%if 0%{?fedora} >= 15 +%bcond_without init_systemd +%bcond_with init_sysv +%global daemon_name mysqld +%else +%bcond_with init_systemd +%bcond_without init_sysv +%global daemon_name mysqld +%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 +%global logfile %{_localstatedir}/log/%{name}.log + +# Home directory of mysql user should be same for all packages that create it +%global mysqluserhome /var/lib/mysql + +# Make long macros shorter +%global sameevp %{?epoch:%{epoch}:}%{version}-%{release} + +Name: %{pkgname} Version: 5.6.19 Release: 5%{?dist} Summary: MySQL client programs and shared libraries @@ -37,38 +70,42 @@ URL: http://www.mysql.com License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz +Source2: mysql_config_multilib.sh Source3: my.cnf -Source4: mysql_config_multilib.sh -Source5: my_config.h +Source4: my_config.h Source6: README.mysql-docs Source7: README.mysql-license Source10: mysql.tmpfiles.d.in -Source11: mysqld.service.in -Source12: mysqld-prepare-db-dir.sh -Source13: mysqld-wait-ready.sh -Source14: mysqld-check-socket.sh -Source15: mysqld-scripts-common.sh +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 +Source17: mysql.init.in # To track rpmlint warnings -Source17: mysql-5.6.10-rpmlintrc +Source30: mysql-5.6.10-rpmlintrc # Comments for these patches are in the patch files -Patch2: community-mysql-strmov.patch -Patch3: community-mysql-install-test.patch -Patch4: community-mysql-expired-certs.patch -Patch6: community-mysql-chain-certs.patch -Patch11: community-mysql-s390-tsc.patch -Patch16: community-mysql-logrotate.patch -Patch18: community-mysql-5.6.11-cipherspec.patch -Patch19: community-mysql-file-contents.patch -Patch21: community-mysql-dh1024.patch -Patch22: community-mysql-sharedir.patch -Patch23: community-mysql-5.6.16-libmysql-version.patch -Patch24: community-mysql-man-pages.patch -Patch25: community-mysql-5.6.16-mysql-install.patch -Patch26: community-mysql-5.6.13-major.patch -Patch34: community-mysql-pluginerrmsg.patch -Patch35: community-mysql-5.6.19-gcc49-aarch64-opt.patch -Patch37: community-mysql-scripts.patch +# 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 +Patch50: %{pkgname}-expired-certs.patch +Patch51: %{pkgname}-chain-certs.patch +Patch52: %{pkgname}-sharedir.patch +Patch53: %{pkgname}-5.6.16-libmysql-version.patch +Patch54: %{pkgname}-man-pages.patch +Patch55: %{pkgname}-5.6.16-mysql-install.patch +Patch56: %{pkgname}-pluginerrmsg.patch +Patch57: %{pkgname}-5.6.19-gcc49-aarch64-opt.patch +Patch70: %{pkgname}-5.6.13-major.patch BuildRequires: cmake BuildRequires: dos2unix @@ -86,21 +123,25 @@ 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) -BuildRequires: systemd +%{?with_init_systemd:BuildRequires: systemd} Requires: bash Requires: fileutils Requires: grep -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Provides: mysql = %{version}-%{release} -Provides: mysql%{?_isa} = %{version}-%{release} -Provides: mysql-compat-client = %{version}-%{release} -Provides: mysql-compat-client%{?_isa} = %{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} + Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -122,20 +163,23 @@ and many different client programs and libraries. The base package contains the standard MySQL client programs and generic MySQL files. +%if %{with clibrary} %package libs Summary: The shared libraries required for MySQL clients Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Provides: mysql-libs = %{version}-%{release} -Provides: mysql-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Provides: mysql-libs = %{sameevp} +Provides: mysql-libs%{?_isa} = %{sameevp} %description libs The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. +%endif +%if %{with common} %package common Summary: The shared files required for MySQL server and client Group: Applications/Databases @@ -147,40 +191,49 @@ Requires: %{_sysconfdir}/my.cnf The mysql-common package provides the essential shared files for any MySQL program. You will need to install this package to use any other MySQL package. +%endif +%if %{with errmsg} %package errmsg - Summary: The error messages files required by server and embedded Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} %description errmsg The package provides error messages files for the MySQL daemon and the embedded server. You will need to install this package to use any of those MySQL packages. +%endif + %package server Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %{version}-%{release} +# note: no version here = %{sameevp} Requires: mysql-compat-client%{?_isa} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +%if %{without common} +Requires: %{_sysconfdir}/my.cnf +Requires: %{_sysconfdir}/my.cnf.d +%endif +Requires: %{name}-errmsg%{?_isa} = %{sameevp} Requires: sh-utils Requires(pre): /usr/sbin/useradd -# We require this to be present for %%{_prefix}/lib/tmpfiles.d +%if %{with init_systemd} +# We require this to be present for %%{_tmpfilesdir} Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} +%endif # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) -Provides: mysql-server = %{version}-%{release} -Provides: mysql-server%{?_isa} = %{version}-%{release} -Provides: mysql-compat-server = %{version}-%{release} -Provides: mysql-compat-server%{?_isa} = %{version}-%{release} +Provides: mysql-server = %{sameevp} +Provides: mysql-server%{?_isa} = %{sameevp} +Provides: mysql-compat-server = %{sameevp} +Provides: mysql-compat-server%{?_isa} = %{sameevp} Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -191,11 +244,11 @@ and many different client programs and libraries. This package contains the MySQL server and some accompanying files and directories. +%if %{with devel} %package devel Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{sameevp} Requires: openssl-devel%{?_isa} Conflicts: mariadb-devel @@ -203,15 +256,17 @@ Conflicts: mariadb-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains the libraries and header files that are needed for developing MySQL client applications. +%endif +%if %{with embedded} %package embedded Summary: MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-errmsg%{?_isa} = %{version}-%{release} -Provides: mysql-embedded = %{version}-%{release} -Provides: mysql-embedded%{?_isa} = %{version}-%{release} +Requires: %{name}-common%{?_isa} = %{sameevp} +Requires: %{name}-errmsg%{?_isa} = %{sameevp} +Provides: mysql-embedded = %{sameevp} +Provides: mysql-embedded%{?_isa} = %{sameevp} %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -222,67 +277,83 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{version}-%{release} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-embedded%{?_isa} = %{sameevp} +Requires: %{name}-devel%{?_isa} = %{sameevp} Conflicts: mariadb-embedded-devel %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This package contains files needed for developing and testing with the embedded version of the MySQL server. +%endif +%if %{with bench} %package bench Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{sameevp} Conflicts: mariadb-bench -Provides: mysql-bench = %{version}-%{release} -Provides: mysql-bench%{?_isa} = %{version}-%{release} +Provides: mysql-bench = %{sameevp} +Provides: mysql-bench%{?_isa} = %{sameevp} %description bench MySQL is a multi-user, multi-threaded SQL database server. This package contains benchmark scripts and data for use when benchmarking MySQL. +%endif +%if %{with test} %package test Summary: The test suite distributed with MySQL Group: Applications/Databases -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-common%{?_isa} = %{version}-%{release} -Requires: %{name}-server%{?_isa} = %{version}-%{release} +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: mariadb-test -Provides: mysql-test = %{version}-%{release} -Provides: mysql-test%{?_isa} = %{version}-%{release} +Provides: mysql-test = %{sameevp} +Provides: mysql-test%{?_isa} = %{sameevp} %description test MySQL is a multi-user, multi-threaded SQL database server. This package contains the regression test suite distributed with the MySQL sources. +%endif %prep %setup -q -n mysql-%{version} +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %patch6 -p1 -%patch11 -p1 -%patch16 -p1 -%patch18 -p1 -%patch19 -p1 -%patch21 -p1 -%patch22 -p1 -%patch23 -p1 -%patch24 -p1 -%patch25 -p1 +%patch7 -p1 +%patch8 -p1 +%patch50 -p1 +%patch51 -p1 +%patch52 -p1 +%patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 +%patch57 -p1 %if %{with_shared_lib_major_hack} -%patch26 -p1 +%patch70 -p1 %endif -%patch34 -p1 -%patch35 -p1 -%patch37 -p1 # Modify tests to pass on all archs pushd mysql-test @@ -320,8 +391,8 @@ add_test 'main.upgrade : unknown' %endif popd -cp %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} scripts +cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ + %{SOURCE15} %{SOURCE17} scripts %build # fail quickly and obviously if user tries to build as root @@ -337,12 +408,27 @@ cp %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ # build out of source mkdir build && pushd build +# 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 + +%if 0%{?_hardened_build} +# building with 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. cmake .. -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ + -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ @@ -379,6 +465,8 @@ cmake .. -DBUILD_CONFIG=mysql_release \ make %{?_smp_mflags} VERBOSE=1 +popd + %install pushd build make DESTDIR=%{buildroot} install @@ -390,19 +478,19 @@ unamei=$(uname -i) unamei=arm %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 -install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_${unamei}.h +install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} -install -p -m 0755 %{SOURCE4} %{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, -# but that's pretty wacko --- see also mysql-file-contents.patch) +# but that's pretty wacko --- see also %%{name}-file-contents.patch) install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ -mkdir -p %{buildroot}%{_localstatedir}/log -touch %{buildroot}%{_localstatedir}/log/mysqld.log +mkdir -p %{buildroot}%{logfiledir} +touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{_localstatedir}/run/mysqld install -p -m 0755 -d %{buildroot}%{_localstatedir}/lib/mysql @@ -412,13 +500,21 @@ 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/mysqld.service %{buildroot}%{_unitdir}/%{daemon_name} -install -p -m 755 scripts/mysqld-prepare-db-dir %{buildroot}%{_libexecdir}/mysqld-prepare-db-dir -install -p -m 755 scripts/mysqld-wait-ready %{buildroot}%{_libexecdir}/mysqld-wait-ready -install -p -m 755 scripts/mysqld-check-socket %{buildroot}%{_libexecdir}/mysqld-check-socket -install -p -m 644 scripts/mysqld-scripts-common %{buildroot}%{_libexecdir}/mysqld-scripts-common - +%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 +%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/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 # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -438,19 +534,19 @@ rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be -mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d -mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{_sysconfdir}/logrotate.d/mysqld -chmod 644 %{buildroot}%{_sysconfdir}/logrotate.d/mysqld +mkdir -p %{buildroot}%{logrotateddir} +mv %{buildroot}%{_datadir}/%{name}/mysql-log-rotate %{buildroot}%{logrotateddir}/%{daemon_name} +chmod 644 %{buildroot}%{logrotateddir}/%{daemon_name} -mkdir -p %{buildroot}/etc/ld.so.conf.d -echo "%{_libdir}/mysql" > %{buildroot}/etc/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 # Back to src dir popd # copy additional docs into build tree so %%doc will find them -install -p -m 0644 %{SOURCE6} README.mysql-docs -install -p -m 0644 %{SOURCE7} README.mysql-license +install -p -m 0644 %{SOURCE6} %{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test @@ -473,7 +569,57 @@ rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 +%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_config_editor,\ +mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\ +mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ +mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +%endif + +%if %{without common} +rm -f %{buildroot}%{_sysconfdir}/my.cnf +rm -rf %{buildroot}%{_datadir}/%{name}/charsets +%endif + +%if %{without errmsg} +rm -rf %{buildroot}%{_datadir}/%{name}/{english,bulgarian,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 pushd build make test VERBOSE=1 @@ -491,33 +637,65 @@ export MTR_BUILD_THREAD=%{__isa_bits} popd popd %endif +%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 /bin/bash \ +/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} %post libs -p /sbin/ldconfig +%endif +%if %{with embedded} %post embedded -p /sbin/ldconfig +%endif %post server -%systemd_post %{daemon_name} -/bin/touch %{_localstatedir}/log/mysqld.log +%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/touch %{logfile} %preun server -%systemd_preun %{daemon_name} +%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} %postun libs -p /sbin/ldconfig +%endif +%if %{with embedded} %postun embedded -p /sbin/ldconfig +%endif %postun server -%systemd_postun_with_restart %{daemon_name} +%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 %files %doc README.mysql-docs +%if %{with client} %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config_editor @@ -547,24 +725,30 @@ popd %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* +%endif +%if %{with clibrary} %files libs %dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* +%endif +%if %{with common} %files common %doc README COPYING README.mysql-license %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google # although the default my.cnf contains only server settings, we put it in the -# libs package because it can be used for client settings too. +# 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 %endif %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets +%endif +%if %{with errmsg} %files errmsg %{_datadir}/%{name}/english %lang(bg) %{_datadir}/%{name}/bulgarian @@ -590,9 +774,10 @@ popd %lang(es) %{_datadir}/%{name}/spanish %lang(sv) %{_datadir}/%{name}/swedish %lang(uk) %{_datadir}/%{name}/ukrainian +%endif %files server -%{_bindir}/myisamchk +%{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack @@ -621,6 +806,10 @@ popd %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN +%if %{without common} +%dir %{_datadir}/%{name} +%endif + %{_libdir}/mysql/plugin %{_mandir}/man1/myisamchk.1* @@ -661,18 +850,20 @@ popd %{_datadir}/%{name}/mysql_test_data_timezone.sql %{_datadir}/%{name}/my-*.cnf -%{_unitdir}/%{daemon_name} -%{_libexecdir}/mysqld-prepare-db-dir -%{_libexecdir}/mysqld-wait-ready -%{_libexecdir}/mysqld-check-socket -%{_libexecdir}/mysqld-scripts-common +%{?with_init_systemd:%{_unitdir}/%{daemon_name}.service} +%{?with_init_sysv:%{_initddir}/%{daemon_name}} +%{_libexecdir}/mysql-prepare-db-dir +%{_libexecdir}/mysql-wait-ready +%{_libexecdir}/mysql-check-socket +%{_libexecdir}/mysql-scripts-common -%{_tmpfilesdir}/%{name}.conf -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/mysqld +%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql -%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{_localstatedir}/log/mysqld.log -%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld +%attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} +%config(noreplace) %{logrotateddir}/%{daemon_name} +%if %{with devel} %files devel %{_bindir}/mysql_config %{_bindir}/mysql_config-%{__isa_bits} @@ -681,7 +872,9 @@ popd %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so %{_mandir}/man1/mysql_config.1* +%endif +%if %{with embedded} %files embedded %{_libdir}/mysql/libmysqld.so.* @@ -691,18 +884,26 @@ popd %{_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 - 5.6.19-5 +- Spec rewrite to be more similar to oterh MySQL implementations +- Include SysV init script if built on older system +- Add possibility to not ship some sub-packages - Port scripts for systemd unit from MariaDB * Mon Jul 21 2014 Honza Horak - 5.6.19-4 diff --git a/mysql-check-socket.sh b/mysql-check-socket.sh new file mode 100644 index 0000000..b15cd32 --- /dev/null +++ b/mysql-check-socket.sh @@ -0,0 +1,39 @@ +#!/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 "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" + +if test -e "$socketfile" ; then + echo "Socket file $socketfile exists." >&2 + + # 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/mysqld-prepare-db-dir.sh b/mysql-prepare-db-dir.sh similarity index 91% rename from mysqld-prepare-db-dir.sh rename to mysql-prepare-db-dir.sh index 8581a5f..0507f52 100644 --- a/mysqld-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/mysql-scripts-common.sh b/mysql-scripts-common.sh new file mode 100755 index 0000000..e9ac2bf --- /dev/null +++ b/mysql-scripts-common.sh @@ -0,0 +1,58 @@ +#!/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=`@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}" + 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 @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 +# code itself. + +server_sections="mysqld_safe mysqld server mysqld-@MAJOR_VERSION@.@MINOR_VERSION@ client-server" + +get_mysql_option "$server_sections" datadir "@MYSQL_DATADIR@" +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 "$server_sections" log-error "`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="$result" + diff --git a/mysqld-wait-ready.sh b/mysql-wait-ready.sh similarity index 87% rename from mysqld-wait-ready.sh rename to mysql-wait-ready.sh index a5356c2..2ed5fe1 100644 --- a/mysqld-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/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/mysql.service.in b/mysql.service.in new file mode 100644 index 0000000..4c2b60a --- /dev/null +++ b/mysql.service.in @@ -0,0 +1,49 @@ +# 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 + +[Unit] +Description=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=simple +User=mysql +Group=mysql + +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@/mysql-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/mysql.tmpfiles.d.in b/mysql.tmpfiles.d.in index 0698a19..b486d78 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1 +1 @@ -d /var/run/@RPM_PACKAGE_PREFIX@mysqld 0755 mysql mysql - +d /var/run/@DAEMON_NAME@ 0755 mysql mysql - diff --git a/mysql_config_multilib.sh b/mysql_config_multilib.sh index 4849e95..06c2a2b 100644 --- a/mysql_config_multilib.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.in b/mysqld.service.in deleted file mode 100644 index d3f550c..0000000 --- a/mysqld.service.in +++ /dev/null @@ -1,44 +0,0 @@ -# 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 @MAJOR_VERSION@.@MINOR_VERSION@ database server -After=syslog.target -After=network.target - -[Service] -Type=simple -User=mysql -Group=mysql - -ExecStartPre=@libexecdir@/mariadb-check-socket -ExecStartPre=@libexecdir@/mysqld-prepare-db-dir %n -# Note: we set --basedir to prevent probes that might trigger SELinux alarms, -# per bug #547485 -ExecStart=@bindir@/mysqld_safe --basedir=/usr -ExecStartPost=@libexecdir@/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 From c48a49a6edfedd5a02953f5c353808297672f1a1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 25 Jul 2014 16:51:11 +0200 Subject: [PATCH 064/274] Hardcoded paths removed to work fine in chroot --- community-mysql-file-contents.patch | 33 ++++-- community-mysql-logrotate.patch | 45 +++++--- community-mysql-paths.patch | 164 ++++++++++++++++++++++++++++ community-mysql-scripts.patch | 3 +- community-mysql.spec | 13 ++- my.cnf => my.cnf.in | 4 +- mysql.tmpfiles.d.in | 2 +- 7 files changed, 237 insertions(+), 27 deletions(-) create mode 100644 community-mysql-paths.patch rename my.cnf => my.cnf.in (94%) diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 0b1a552..76afb92 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -6,20 +6,39 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 -diff -up mysql-5.6.15/mysql-test/t/file_contents.test.p19 mysql-5.6.15/mysql-test/t/file_contents.test ---- mysql-5.6.15/mysql-test/t/file_contents.test.p19 2013-12-09 18:44:48.425892516 +0100 -+++ mysql-5.6.15/mysql-test/t/file_contents.test 2013-12-09 18:48:02.247150032 +0100 -@@ -39,6 +39,14 @@ if ($dir_bin =~ m|/usr/|) { +diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19/mysql-test/t/file_contents.test +--- mysql-5.6.19/mysql-test/t/file_contents.test.file-contents 2014-07-25 11:56:12.442153944 +0200 ++++ mysql-5.6.19/mysql-test/t/file_contents.test 2014-07-25 12:00:11.578581702 +0200 +@@ -11,7 +11,7 @@ + --perl + print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; + $dir_bin = $ENV{'MYSQL_BINDIR'}; +-if ($dir_bin =~ m|/usr/|) { ++if ($dir_bin =~ m|.*/usr/$|) { + # RPM package + $dir_docs = $dir_bin; + $dir_docs =~ s|/lib|/share/doc|; +@@ -26,7 +26,7 @@ if ($dir_bin =~ m|/usr/|) { + $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; + } + } +-} elsif ($dir_bin =~ m|/usr$|) { ++} elsif ($dir_bin =~ m|.*/usr$|) { + # RPM build during development + $dir_docs = "$dir_bin/share/doc"; + if(-d "$dir_docs/packages") { +@@ -39,6 +39,15 @@ if ($dir_bin =~ m|/usr/|) { # If not it might be ULN so try that $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; } ++ + # 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"; + } } } else { diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch index b5f5220..7c0b7e5 100644 --- a/community-mysql-logrotate.patch +++ b/community-mysql-logrotate.patch @@ -14,21 +14,40 @@ Adjust the mysql-log-rotate script in several ways: See discussions at RH bugs 799735, 547007 -diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/support-files/mysql-log-rotate.sh ---- mysql-5.6.10/support-files/mysql-log-rotate.sh.orig 2013-01-22 17:54:50.000000000 +0100 -+++ mysql-5.6.10/support-files/mysql-log-rotate.sh 2013-02-19 15:27:28.448443077 +0100 -@@ -4,7 +4,7 @@ - # follows: +diff -up mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate mysql-5.6.19/support-files/mysql-log-rotate.sh +--- mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate 2014-07-25 11:49:37.237448291 +0200 ++++ mysql-5.6.19/support-files/mysql-log-rotate.sh 2014-07-25 11:53:17.096840857 +0200 +@@ -1,14 +1,13 @@ +-# The log file name and location can be set in +-# /etc/my.cnf by setting the "log-error" option +-# in either [mysqld] or [mysqld_safe] section as +-# follows: ++# This logname can be set in /etc/my.cnf ++# by setting the variable "log-error" ++# in the [mysqld_safe] section as follows: # - # [mysqld] +-# [mysqld] -# log-error=@localstatedir@/mysqld.log -+# log-error=/var/log/mysqld.log ++# [mysqld_safe] ++# log-error=@LOG_LOCATION@ # - # In case the root user has a password, then you - # have to create a /root/.my.cnf configuration file -@@ -19,19 +19,21 @@ - # ATTENTION: The /root/.my.cnf file should be readable - # _ONLY_ by root ! +-# In case the root user has a password, then you +-# have to create a /root/.my.cnf configuration file +-# with the following content: ++# If the root user has a password you have to create a ++# /root/.my.cnf configuration file with the following ++# content: + # + # [mysqladmin] + # password = +@@ -16,22 +15,24 @@ + # + # where "" is the password. + # +-# ATTENTION: The /root/.my.cnf file should be readable +-# _ONLY_ by root ! ++# ATTENTION: This /root/.my.cnf should be readable ONLY ++# for root ! -@localstatedir@/mysqld.log { - # create 600 mysql mysql @@ -48,7 +67,7 @@ diff -up mysql-5.6.10/support-files/mysql-log-rotate.sh.orig mysql-5.6.10/suppor -} +# Then, un-comment the following lines to enable rotation of mysql's log file: + -+#/var/log/mysqld.log { ++#@LOG_LOCATION@ { +# create 640 mysql mysql +# notifempty +# daily diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch new file mode 100644 index 0000000..db90278 --- /dev/null +++ b/community-mysql-paths.patch @@ -0,0 +1,164 @@ +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 mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql_plugin.c +--- mysql-5.6.19/client/mysql_plugin.c.cmakepaths 2014-05-06 12:45:57.000000000 +0200 ++++ mysql-5.6.19/client/mysql_plugin.c 2014-07-25 13:12:36.991896193 +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[]) +@@ -121,7 +122,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; +@@ -324,7 +325,7 @@ static int get_default_values() + FILE *file= 0; + + memset(tool_path, 0, 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 + { +@@ -989,6 +990,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 mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths mysql-5.6.19/mysys_ssl/my_default.cc +--- mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths 2014-05-06 12:45:58.000000000 +0200 ++++ mysql-5.6.19/mysys_ssl/my_default.cc 2014-07-25 13:19:12.587624249 +0200 +@@ -1389,12 +1389,12 @@ 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); ++ errors += add_directory(alloc, DEFAULT_SYSCONFDIR "/mysql", dirs); ++ } + #endif /* DEFAULT_SYSCONFDIR */ + + #endif +diff -up mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths mysql-5.6.19/scripts/mysqlaccess.sh +--- mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 ++++ mysql-5.6.19/scripts/mysqlaccess.sh 2014-07-25 13:12:36.995896200 +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 mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/mysqld_multi.sh +--- mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 ++++ mysql-5.6.19/scripts/mysqld_multi.sh 2014-07-25 13:12:36.996896202 +0200 +@@ -573,9 +573,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)); +--- mysql-5.6.19/cmake/install_layout.cmake.cmakepaths 2014-07-25 14:21:56.063132378 +0200 ++++ mysql-5.6.19/cmake/install_layout.cmake 2014-07-25 14:25:46.894644591 +0200 +@@ -94,7 +94,7 @@ IF(UNIX) + " Choose between ${VALID_INSTALL_LAYOUTS}" ) + ENDIF() + +- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" ++ SET(SYSCONFDIR "/etc" + CACHE PATH "config directory (for my.cnf)") + MARK_AS_ADVANCED(SYSCONFDIR) + ENDIF() +@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE + SET(INSTALL_BINDIR_RPM "bin") + SET(INSTALL_SBINDIR_RPM "sbin") + SET(INSTALL_SCRIPTDIR_RPM "bin") ++SET(INSTALL_SYSCONFDIR_RPM "/etc") + # + IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + SET(INSTALL_LIBDIR_RPM "lib64") diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 7dba8b9..bc920a1 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,30 @@ ELSE() +@@ -381,6 +381,31 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -16,6 +16,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql-scripts-common + mysql_config_multilib + mysql.init ++ my.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/community-mysql.spec b/community-mysql.spec index 6c21ccf..9983bf6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -71,7 +71,7 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz Source2: mysql_config_multilib.sh -Source3: my.cnf +Source3: my.cnf.in Source4: my_config.h Source6: README.mysql-docs Source7: README.mysql-license @@ -95,6 +95,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 Patch50: %{pkgname}-expired-certs.patch @@ -343,6 +344,7 @@ the MySQL sources. %patch6 -p1 %patch7 -p1 %patch8 -p1 +%patch9 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -391,8 +393,8 @@ add_test 'main.upgrade : unknown' %endif popd -cp %{SOURCE2} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} \ - %{SOURCE15} %{SOURCE17} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ + %{SOURCE14} %{SOURCE15} %{SOURCE17} scripts %build # fail quickly and obviously if user tries to build as root @@ -428,8 +430,11 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ + -DLOG_LOCATION="%{logfile}" \ + -DPID_FILE_DIR="%{_localstatedir}/run/%{daemon_name}" \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ + -DSYSCONFDIR="%{_sysconfdir}" \ %if 0%{?fedora} >= 20 -DINSTALL_DOCDIR="share/doc/%{name}" \ -DINSTALL_DOCREADMEDIR="share/doc/%{name}" \ @@ -461,6 +466,7 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DWITH_ZLIB=system \ -DCMAKE_C_FLAGS="%{optflags}" \ -DCMAKE_CXX_FLAGS="%{optflags}" \ + -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 @@ -901,6 +907,7 @@ fi %changelog * Tue Jul 22 2014 Honza Horak - 5.6.19-5 +- Hardcoded paths removed to work fine in chroot - Spec rewrite to be more similar to oterh MySQL implementations - Include SysV init script if built on older system - Add possibility to not ship some sub-packages diff --git a/my.cnf b/my.cnf.in similarity index 94% rename from my.cnf rename to my.cnf.in index ac882ac..edad8f7 100644 --- a/my.cnf +++ b/my.cnf.in @@ -17,8 +17,8 @@ symbolic-links=0 # /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 +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 b486d78..d2c4b31 100644 --- a/mysql.tmpfiles.d.in +++ b/mysql.tmpfiles.d.in @@ -1 +1 @@ -d /var/run/@DAEMON_NAME@ 0755 mysql mysql - +d @PID_FILE_DIR@ 0755 mysql mysql - From 02226f4979fbbc251ddc4aebf77c7544d8663079 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Thu, 31 Jul 2014 13:05:18 +0200 Subject: [PATCH 065/274] Update to MySQL 5.6.20 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-5.6.16-mysql-install.patch | 111 ++------------------- community-mysql-pluginerrmsg.patch | 52 +++++----- community-mysql.spec | 54 ++++------ mysql-prepare-db-dir.sh | 2 +- mysql-scripts-common.sh | 0 mysql.init.in | 8 +- sources | 2 +- 8 files changed, 64 insertions(+), 166 deletions(-) mode change 100755 => 100644 mysql-scripts-common.sh diff --git a/.gitignore b/.gitignore index 02af558..86c7f42 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /mysql-5.6.16.tar.gz /mysql-5.6.17.tar.gz /mysql-5.6.19.tar.gz +/mysql-5.6.20.tar.gz diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 943009e..232687d 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -1,17 +1,8 @@ diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in -index 440a977..7d068fc 100644 +index 1fa5164..4aa49ca 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in -@@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] - --help Display this help and exit. - --ldata=path The path to the MySQL data directory. Same as --datadir. - --no-defaults Don't read default options from any option file. -+ --keep-my-cnf Don't try to create my.cnf based on template. -+ Useful for systems with working, updated my.cnf. - EOF1 - if ( $^O !~ m/^(MSWin32|cygwin)$/ ) { - print <{srcdir} and $opt->{basedir} ) +@@ -439,7 +440,7 @@ if ( $opt->{srcdir} and $opt->{basedir} ) { error($opt,"Specify either --basedir or --srcdir, not both"); } +-if ( $opt->{'keep-my-cnf'} ) +if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) -+{ -+ $keep_my_cnf = 1; -+} - if ( $opt->{srcdir} ) { - $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,7 +462,7 @@ my $config_file; - my $copy_cfg_file; - - # ---------------------------------------------------------------------- --# This will be the default config file -+# This will be the default config file (unless creation is unwanted) - # ---------------------------------------------------------------------- - - my $cnfext = ( $^O =~ m/^(MSWin32|cygwin)$/ ) ? "ini" : "cnf"; -@@ -434,6 +471,11 @@ $config_file= "$basedir/my.$cnfext"; - - my $cfg_template= find_in_basedir($opt,"file","my-default.$cnfext", - ".", "share","share/mysql","support-files"); -+# Distros might move files -+if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { -+ $cfg_template = "@pkgdatadir@/my-default.cnf"; -+} -+ - -e $cfg_template or cannot_find_file("my-default.$cnfext"); - - $copy_cfg_file= $config_file; -@@ -443,22 +485,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.$cnfext/my-new.$cnfext/; - # Too early to print warning here, the user may not notice + $keep_my_cnf = 1; } --open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); --if (open (CFG, "> $copy_cfg_file")) --{ -- while () -- { -- # Remove lines beginning with # *** which are template comments -- print CFG $_ unless /^# \*\*\*/; -+ -+if ( ! $keep_my_cnf ) { -+ open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); -+ if (open (CFG, "> $copy_cfg_file")) { -+ while () { -+ # Remove lines beginning with # *** which are template comments -+ print CFG $_ unless /^# \*\*\*/; -+ } -+ close CFG; -+ } else { -+ warning($opt,"Could not write to config file $copy_cfg_file: $!"); -+ $failed_write_cfg= 1; - } -- close CFG; -+ close TEMPL; - } --else --{ -- warning($opt,"Could not write to config file $copy_cfg_file: $!"); -- $failed_write_cfg= 1; --} --close TEMPL; - - # ---------------------------------------------------------------------- - # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -621,7 +662,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) +@@ -664,7 +665,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) } # ---------------------------------------------------------------------- @@ -110,7 +28,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # FIXME The shell variant uses "mkdir -p": -@@ -654,7 +695,7 @@ if ($opt_user) +@@ -697,7 +698,7 @@ if ($opt_user) } } @@ -119,18 +37,3 @@ index 440a977..7d068fc 100644 { mkdir($dir, 0700) unless -d $dir; if ($opt_user and -w "/") -@@ -848,7 +889,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) - "", - "Support MySQL by buying support/licenses at http://shop.mysql.com"); - -- if ($copy_cfg_file eq $config_file and !$failed_write_cfg) -+ if ($keep_my_cnf) -+ { -+ report($opt, -+ "Note: new default config file not created.", -+ "Please make sure your config file is current"); -+ } -+ elsif ($copy_cfg_file eq $config_file and !$failed_write_cfg) - { - report($opt, - "New default config file was created as $config_file and", diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch index ae8c231..a781172 100644 --- a/community-mysql-pluginerrmsg.patch +++ b/community-mysql-pluginerrmsg.patch @@ -12,9 +12,10 @@ MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 -diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h ---- mysql-5.6.14/include/mysql.h.p34 2013-09-10 09:38:25.000000000 +0200 -+++ mysql-5.6.14/include/mysql.h 2013-10-09 15:33:04.523541478 +0200 +diff --git a/include/mysql.h b/include/mysql.h +index 38b54de..0b13e92 100644 +--- a/include/mysql.h ++++ b/include/mysql.h @@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; /* backward compatibility define - to be removed eventually */ @@ -23,32 +24,34 @@ diff -up mysql-5.6.14/include/mysql.h.p34 mysql-5.6.14/include/mysql.h typedef struct st_mysql_rows { struct st_mysql_rows *next; /* list of rows */ -diff -up mysql-5.6.14/mysql-test/r/plugin.result.p34 mysql-5.6.14/mysql-test/r/plugin.result ---- mysql-5.6.14/mysql-test/r/plugin.result.p34 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/r/plugin.result 2013-10-09 15:33:04.523541478 +0200 -@@ -162,3 +162,5 @@ SELECT @@SESSION.example_double_thdvar; - @@SESSION.example_double_thdvar - 1000.500000 - UNINSTALL PLUGIN example; +diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result +index a3d7437..8ea475d 100644 +--- a/mysql-test/r/plugin.result ++++ b/mysql-test/r/plugin.result +@@ -232,3 +232,5 @@ DROP PROCEDURE p_install; + SET DEBUG_SYNC='RESET'; + disconnect con1; + disconnect con2; +UNINSTALL PLUGIN MyISAM; +ERROR HY000: Built-in plugins cannot be deleted -diff -up mysql-5.6.14/mysql-test/t/plugin.test.p34 mysql-5.6.14/mysql-test/t/plugin.test ---- mysql-5.6.14/mysql-test/t/plugin.test.p34 2013-09-10 09:38:27.000000000 +0200 -+++ mysql-5.6.14/mysql-test/t/plugin.test 2013-10-09 15:33:04.524541479 +0200 -@@ -160,3 +160,10 @@ SET SESSION example_double_thdvar = 1000 - SELECT @@SESSION.example_double_thdvar; +diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test +index de68d36..bf9fb7d 100644 +--- a/mysql-test/t/plugin.test ++++ b/mysql-test/t/plugin.test +@@ -277,3 +277,9 @@ disconnect con1; + disconnect con2; - UNINSTALL PLUGIN example; + --disable_connect_log + +# +# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins +# +--error ER_PLUGIN_DELETE_BUILTIN +UNINSTALL PLUGIN MyISAM; -+ -diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errmsg-utf8.txt ---- mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 2013-09-10 09:38:26.000000000 +0200 -+++ mysql-5.6.14/sql/share/errmsg-utf8.txt 2013-10-09 15:33:04.525541480 +0200 +diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt +index 15acc66..35e2c3c 100644 +--- a/sql/share/errmsg-utf8.txt ++++ b/sql/share/errmsg-utf8.txt @@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO WARN_OPTION_IGNORED eng "<%-.64s> option ignored" @@ -58,10 +61,11 @@ diff -up mysql-5.6.14/sql/share/errmsg-utf8.txt.p34 mysql-5.6.14/sql/share/errms eng "Built-in plugins cannot be deleted" ger "Eingebaute Plugins können nicht gelöscht werden" WARN_PLUGIN_BUSY -diff -up mysql-5.6.14/sql/sql_plugin.cc.p34 mysql-5.6.14/sql/sql_plugin.cc ---- mysql-5.6.14/sql/sql_plugin.cc.p34 2013-10-09 15:33:04.527541481 +0200 -+++ mysql-5.6.14/sql/sql_plugin.cc 2013-10-09 15:34:30.760598323 +0200 -@@ -1979,9 +1979,7 @@ bool mysql_uninstall_plugin(THD *thd, co +diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc +index f134e4f..7e34432 100644 +--- a/sql/sql_plugin.cc ++++ b/sql/sql_plugin.cc +@@ -2008,9 +2008,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name) } if (!plugin->plugin_dl) { diff --git a/community-mysql.spec b/community-mysql.spec index 9983bf6..7269213 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -50,7 +50,7 @@ # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log -%global logfile %{_localstatedir}/log/%{name}.log +%global logfile %{_localstatedir}/log/mysqld.log # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql @@ -59,8 +59,8 @@ %global sameevp %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} -Version: 5.6.19 -Release: 5%{?dist} +Version: 5.6.20 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -109,7 +109,6 @@ Patch57: %{pkgname}-5.6.19-gcc49-aarch64-opt.patch Patch70: %{pkgname}-5.6.13-major.patch BuildRequires: cmake -BuildRequires: dos2unix BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel @@ -148,7 +147,7 @@ Conflicts: mariadb Obsoletes: mysql-cluster < 5.1.44 # 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 @@ -357,6 +356,10 @@ the MySQL sources. %patch70 -p1 %endif +# Avoid dtrace dep +sed -i -e "1d" mysql-test/std_data/dtrace.d +chmod 0644 mysql-test/std_data/dtrace.d + # Modify tests to pass on all archs pushd mysql-test add_test () { @@ -410,20 +413,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ # build out of source mkdir build && pushd build -# 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 - -%if 0%{?_hardened_build} -# building with 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. cmake .. -DBUILD_CONFIG=mysql_release \ @@ -557,19 +546,6 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test -# Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 -chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql -find %{buildroot}%{_datadir}/mysql-test/{r,suite,t} -type f -print0 | xargs --null chmod 0644 -chmod 0644 %{buildroot}%{_datadir}/mysql-test/include/{start_mysqld,shutdown_mysqld,check_ipv4_mapped}.inc -for f in std_data/checkDBI_DBD-mysql.pl suite/engines/rr_trx/run_stress_tx_rr.pl \ - suite/funcs_1/lib/DataGen_local.pl suite/funcs_1/lib/DataGen_modify.pl \ - suite/funcs_2/lib/gen_charset_utf8.pl suite/opt_trace/validate_json.py \ - suite/rpl/extension/bhs.pl suite/rpl/extension/checksum.pl ; do - chmod 0755 %{buildroot}%{_datadir}/mysql-test/$f -done -chmod 0644 %{buildroot}%{_datadir}/sql-bench/graph-compare-results -dos2unix -k %{buildroot}%{_datadir}/sql-bench/innotest* - # These are in fact identical rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 @@ -906,6 +882,20 @@ fi %endif %changelog +* Thu Jul 31 2014 Bjorn Munch - 5.6.20-1 +- Update to MySQL 5.6.20, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html +- Rebase install and pluginerrmsg patch +- Drop dos2unix from buildreq, files fixed upstream +- No need to add -O3, it's default +- LDFLAGS is passed by cmake option, not from environment +- Using __requires_exclude in conditional don't seems to work, swap + to dist macros +- Avoid unwanted dtrace dep +- Fix mysql.init and mysql-prepare-db-dir +- Logfile name must match value from /etc/my.cnf (and be known + by SELinux policy) + * Tue Jul 22 2014 Honza Horak - 5.6.19-5 - Hardcoded paths removed to work fine in chroot - Spec rewrite to be more similar to oterh MySQL implementations 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-scripts-common.sh b/mysql-scripts-common.sh old mode 100755 new mode 100644 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 diff --git a/sources b/sources index 660dc7b..14e48be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a663c5b3c710043c74f97902a1ed62c0 mysql-5.6.19.tar.gz +71ed71ecc53222a2f03523cd13cf2141 mysql-5.6.20.tar.gz From 27a9fc8a25688aa9da367159bc8db79c1339f8d2 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 5 Aug 2014 14:21:51 +0200 Subject: [PATCH 066/274] Adopt changes from mariadb to sync spec files --- README.mysql-license | 3 + community-mysql-paths.patch | 12 ++++ community-mysql.spec | 120 ++++++++++++++++++------------------ mysql-scripts-common.sh | 4 +- 4 files changed, 78 insertions(+), 61 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/community-mysql-paths.patch b/community-mysql-paths.patch index db90278..95945bb 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -162,3 +162,15 @@ diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/my # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") +diff -up mysql-5.6.20/scripts/CMakeLists.txt.pathsmore mysql-5.6.20/scripts/CMakeLists.txt +--- mysql-5.6.20/scripts/CMakeLists.txt.pathsmore 2014-08-05 16:41:28.900098862 +0200 ++++ mysql-5.6.20/scripts/CMakeLists.txt 2014-08-05 16:41:52.474177142 +0200 +@@ -228,7 +228,7 @@ INSTALL_SCRIPT( + ) + + SET(prefix "${CMAKE_INSTALL_PREFIX}") +-SET(sysconfdir ${prefix}) ++SET(sysconfdir ${SYSCONFDIR}) + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) + SET(scriptdir ${prefix}/${INSTALL_BINDIR}) diff --git a/community-mysql.spec b/community-mysql.spec index 7269213..52cb6c3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,5 +1,6 @@ # Name of the package without any prefixes %global pkgname community-mysql +%global pkgnamepatch community-mysql # 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 @@ -50,17 +51,17 @@ # later when building to another location (like SCL) %global logrotateddir %{_sysconfdir}/logrotate.d %global logfiledir %{_localstatedir}/log -%global logfile %{_localstatedir}/log/mysqld.log +%global logfile %{logfiledir}/%{daemon_name}.log # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql # Make long macros shorter -%global sameevp %{?epoch:%{epoch}:}%{version}-%{release} +%global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} Version: 5.6.20 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -81,32 +82,32 @@ Source12: mysql-prepare-db-dir.sh Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh -Source17: mysql.init.in +Source18: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc # 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 -Patch50: %{pkgname}-expired-certs.patch -Patch51: %{pkgname}-chain-certs.patch -Patch52: %{pkgname}-sharedir.patch -Patch53: %{pkgname}-5.6.16-libmysql-version.patch -Patch54: %{pkgname}-man-pages.patch -Patch55: %{pkgname}-5.6.16-mysql-install.patch -Patch56: %{pkgname}-pluginerrmsg.patch -Patch57: %{pkgname}-5.6.19-gcc49-aarch64-opt.patch -Patch70: %{pkgname}-5.6.13-major.patch +Patch50: %{pkgnamepatch}-expired-certs.patch +Patch51: %{pkgnamepatch}-chain-certs.patch +Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch +Patch54: %{pkgnamepatch}-man-pages.patch +Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch +Patch56: %{pkgnamepatch}-pluginerrmsg.patch +Patch57: %{pkgnamepatch}-5.6.19-gcc49-aarch64-opt.patch +Patch70: %{pkgnamepatch}-5.6.13-major.patch BuildRequires: cmake BuildRequires: libaio-devel @@ -135,12 +136,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} Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more @@ -167,9 +168,9 @@ contains the standard MySQL client programs and generic MySQL files. %package libs Summary: The shared libraries required for 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} %description libs The mysql-libs package provides the essential shared libraries for any @@ -198,7 +199,7 @@ MySQL 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 MySQL daemon and the @@ -211,14 +212,14 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %{sameevp} +# note: no version here = %{sameevr} 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} @@ -230,10 +231,10 @@ Requires: 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} Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -248,7 +249,7 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{sameevp} +Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: openssl-devel%{?_isa} Conflicts: mariadb-devel @@ -263,10 +264,10 @@ developing MySQL client applications. %package embedded Summary: MySQL 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} %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -277,8 +278,8 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library Group: Applications/Databases -Requires: %{name}-embedded%{?_isa} = %{sameevp} -Requires: %{name}-devel%{?_isa} = %{sameevp} +Requires: %{name}-embedded%{?_isa} = %{sameevr} +Requires: %{name}-devel%{?_isa} = %{sameevr} Conflicts: mariadb-embedded-devel %description embedded-devel @@ -292,10 +293,10 @@ the embedded version of the MySQL server. %package bench Summary: MySQL benchmark scripts and data Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevp} +Requires: %{name}%{?_isa} = %{sameevr} Conflicts: mariadb-bench -Provides: mysql-bench = %{sameevp} -Provides: mysql-bench%{?_isa} = %{sameevp} +Provides: mysql-bench = %{sameevr} +Provides: mysql-bench%{?_isa} = %{sameevr} %description bench MySQL is a multi-user, multi-threaded SQL database server. This @@ -308,9 +309,9 @@ MySQL. %package test Summary: The test suite distributed with MySQL 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) @@ -323,8 +324,8 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) Conflicts: mariadb-test -Provides: mysql-test = %{sameevp} -Provides: mysql-test%{?_isa} = %{sameevp} +Provides: mysql-test = %{sameevr} +Provides: mysql-test%{?_isa} = %{sameevr} %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -397,7 +398,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE17} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE18} scripts %build # fail quickly and obviously if user tries to build as root @@ -487,11 +488,11 @@ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} -mkdir -p %{buildroot}%{_localstatedir}/run/mysqld +mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_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 %endif # install systemd unit files and scripts for handling server startup @@ -675,8 +676,6 @@ fi %endif %files -%doc README.mysql-docs - %if %{with client} %{_bindir}/msql2mysql %{_bindir}/mysql @@ -718,7 +717,7 @@ fi %if %{with common} %files common -%doc README COPYING README.mysql-license +%doc README COPYING 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. @@ -882,6 +881,9 @@ fi %endif %changelog +* Tue Aug 05 2014 Honza Horak - 5.6.20-2 +- Adopt changes from mariadb to sync spec files + * Thu Jul 31 2014 Bjorn Munch - 5.6.20-1 - Update to MySQL 5.6.20, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-20.html diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index e9ac2bf..9dab30e 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 "`hostname`.err" +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" +get_mysql_option "$server_sections" pid-file "$datadir/`hostname`.pid" pidfile="$result" From 4a93e4944939ae411e02c9c3bffe5eac18d99b22 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 6 Aug 2014 07:03:34 +0200 Subject: [PATCH 067/274] Move %files section into with client condition --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 52cb6c3..451fd9a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -675,8 +675,8 @@ if [ $1 -ge 1 ]; then fi %endif -%files %if %{with client} +%files %{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config_editor From c4225a61b1e51c314be163614267508c02017038 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 14 Aug 2014 17:24:36 +0200 Subject: [PATCH 068/274] Introduce -config subpackage and ship base config files here --- community-mysql.spec | 61 ++++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 22 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 451fd9a..8fe7ddc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,5 +1,5 @@ # Name of the package without any prefixes -%global pkgname community-mysql +%global pkgname community-mysql %global pkgnamepatch community-mysql # Regression tests may take a long time (many cores recommended), skip them by @@ -19,13 +19,6 @@ %global skiplist platform-specific-tests.list -# 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 0 - # For some use cases we do not need some parts of the package %bcond_without clibrary %bcond_without embedded @@ -36,6 +29,11 @@ %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 +%bcond_with config + # Include files for SysV init or systemd %if 0%{?fedora} >= 15 %bcond_without init_systemd @@ -61,7 +59,7 @@ Name: %{pkgname} Version: 5.6.20 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -180,13 +178,24 @@ MySQL server. %endif +%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 for MySQL server and client Group: Applications/Databases -%if ! %{ship_my_cnf} Requires: %{_sysconfdir}/my.cnf -%endif %description common The mysql-common package provides the essential shared files for any @@ -212,13 +221,11 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %{sameevr} +# note: no version here = %%{sameevr} 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 @@ -491,7 +498,7 @@ touch %{buildroot}%{logfile} 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 %endif @@ -580,8 +587,13 @@ mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif -%if %{without common} +%if %{with config} +mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d +%else rm -f %{buildroot}%{_sysconfdir}/my.cnf +%endif + +%if %{without common} rm -rf %{buildroot}%{_datadir}/%{name}/charsets %endif @@ -715,16 +727,18 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif +%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. +%config(noreplace) %{_sysconfdir}/my.cnf +%dir %{_sysconfdir}/my.cnf.d +%endif + %if %{with common} %files common %doc README COPYING 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. -%if %{ship_my_cnf} -%config(noreplace) %{_sysconfdir}/my.cnf -%dir %{_sysconfdir}/my.cnf.d -%endif %dir %{_datadir}/%{name} %{_datadir}/%{name}/charsets %endif @@ -881,6 +895,9 @@ fi %endif %changelog +* Tue Aug 12 2014 Honza Horak - 5.6.20-3 +- Introduce -config subpackage and ship base config files here + * Tue Aug 05 2014 Honza Horak - 5.6.20-2 - Adopt changes from mariadb to sync spec files From e99685b9cd21dc7d4070d5a39cb3f1adb89f607e Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Sat, 16 Aug 2014 00:57:15 +0000 Subject: [PATCH 069/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8fe7ddc..850c0c2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.20 -Release: 3%{?dist} +Release: 4%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -895,6 +895,9 @@ fi %endif %changelog +* Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Tue Aug 12 2014 Honza Horak - 5.6.20-3 - Introduce -config subpackage and ship base config files here From 530dd9b1f897945f7e6ee35e69e75e3c80d4661d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 21 Aug 2014 14:55:06 +0200 Subject: [PATCH 070/274] Handle all ppc64 the same in my_config.h --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 850c0c2..6da19f5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -480,6 +480,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 install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ From 568d54e73271c34547adaa6cc90862aa76cf1a63 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 13:04:05 +0200 Subject: [PATCH 071/274] Fix paths in mysql_install_db script Related: #1134328 --- community-mysql-install-db-sharedir.patch | 38 +++++++++++++++++++++++ community-mysql.spec | 10 ++++-- 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 community-mysql-install-db-sharedir.patch diff --git a/community-mysql-install-db-sharedir.patch b/community-mysql-install-db-sharedir.patch new file mode 100644 index 0000000..4949b6d --- /dev/null +++ b/community-mysql-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/community-mysql.spec b/community-mysql.spec index 6da19f5..637f111 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.20 -Release: 4%{?dist} +Release: 5%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -94,7 +94,8 @@ Patch5: %{pkgnamepatch}-cipherspec.patch Patch6: %{pkgnamepatch}-file-contents.patch Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch -Patch9: %{pkgnamepatch}-paths.patch +Patch9: %{pkgnamepatch}-install-db-sharedir.patch +Patch10: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch50: %{pkgnamepatch}-expired-certs.patch @@ -352,6 +353,7 @@ the MySQL sources. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 %patch50 -p1 %patch51 -p1 %patch52 -p1 @@ -898,6 +900,10 @@ fi %endif %changelog +* Thu Sep 04 2014 Honza Horak - 5.6.20-5 +- Fix paths in mysql_install_db script + Related: #1134328 + * Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 245bbf88c74c7b9f12a562c14f8004d1fda93934 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 13:05:11 +0200 Subject: [PATCH 072/274] Use %%cmake macro --- community-mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 637f111..2766e20 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -425,7 +425,8 @@ mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -cmake .. -DBUILD_CONFIG=mysql_release \ +%cmake .. \ + -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ -DDAEMON_NAME="%{daemon_name}" \ @@ -903,6 +904,7 @@ fi * Thu Sep 04 2014 Honza Horak - 5.6.20-5 - Fix paths in mysql_install_db script Related: #1134328 +- Use %%cmake macro * Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 33065de0a2b45a1f5f5f0b6c928d29b8ee631bf0 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 8 Sep 2014 13:21:10 +0200 Subject: [PATCH 073/274] Install systemd service file on RHEL-7+ Server requires any mysql package, so it should be fine with older client --- community-mysql.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2766e20..851b4bd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -35,7 +35,7 @@ %bcond_with 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 mysqld @@ -223,7 +223,7 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %%{sameevr} -Requires: mysql-compat-client%{?_isa} +Requires: mysql%{?_isa} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -905,6 +905,8 @@ fi - Fix paths in mysql_install_db script Related: #1134328 - Use %%cmake macro +- Install systemd service file on RHEL-7+ + Server requires any mysql package, so it should be fine with older client * Sat Aug 16 2014 Fedora Release Engineering - 5.6.20-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From 7894e5c361a84b158eab4198be92142b84b487f1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 24 Sep 2014 17:04:34 +0200 Subject: [PATCH 074/274] Update to MySQL 5.6.21 --- .gitignore | 1 + community-mysql.spec | 9 +++++++-- sources | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 86c7f42..1656e1d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /mysql-5.6.17.tar.gz /mysql-5.6.19.tar.gz /mysql-5.6.20.tar.gz +/mysql-5.6.21.tar.gz diff --git a/community-mysql.spec b/community-mysql.spec index 851b4bd..0cfd020 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -58,8 +58,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} -Version: 5.6.20 -Release: 5%{?dist} +Version: 5.6.21 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -872,6 +872,7 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so +%{_libdir}/mysql/libmysqlservices.so %{_mandir}/man1/mysql_config.1* %endif @@ -901,6 +902,10 @@ fi %endif %changelog +* Wed Sep 24 2014 Honza Horak - 5.6.20-1 +- Update to MySQL 5.6.21, for various fixes described at + http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-21.html + * Thu Sep 04 2014 Honza Horak - 5.6.20-5 - Fix paths in mysql_install_db script Related: #1134328 diff --git a/sources b/sources index 14e48be..012044f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -71ed71ecc53222a2f03523cd13cf2141 mysql-5.6.20.tar.gz +e47c3a70b8d89db3199a349204b2ae4e mysql-5.6.21.tar.gz From c9f01efce7e93b63e8257fb76ac0d2d56925a125 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Fri, 26 Sep 2014 13:48:31 +0200 Subject: [PATCH 075/274] Some updates for 5.6.21 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- community-mysql.spec | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0cfd020..19c4019 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 1%{?dist} +Release: 2%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -366,10 +366,6 @@ the MySQL sources. %patch70 -p1 %endif -# Avoid dtrace dep -sed -i -e "1d" mysql-test/std_data/dtrace.d -chmod 0644 mysql-test/std_data/dtrace.d - # Modify tests to pass on all archs pushd mysql-test add_test () { @@ -425,7 +421,7 @@ mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -%cmake .. \ +cmake .. \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ @@ -872,7 +868,6 @@ fi %{_datadir}/aclocal/mysql.m4 %{_libdir}/mysql/libmysqlclient.so %{_libdir}/mysql/libmysqlclient_r.so -%{_libdir}/mysql/libmysqlservices.so %{_mandir}/man1/mysql_config.1* %endif @@ -902,6 +897,10 @@ fi %endif %changelog +* Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 +- Using %%cmake macro break some tests, reverted +- Unwanted dtrace dep fixed upstream + * Wed Sep 24 2014 Honza Horak - 5.6.20-1 - Update to MySQL 5.6.21, for various fixes described at http://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-21.html From 0d2208e0ac88b6664f5e512f2dc92dca12729ded Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 16:05:17 +0200 Subject: [PATCH 076/274] Check upgrade script added to warn about need for mysql_upgrade --- community-mysql-scripts.patch | 3 ++- community-mysql.spec | 12 ++++++++--- mysql-check-upgrade.sh | 39 +++++++++++++++++++++++++++++++++++ mysql-prepare-db-dir.sh | 2 ++ mysql.service.in | 1 + 5 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 mysql-check-upgrade.sh diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index bc920a1..015e604 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,31 @@ ELSE() +@@ -381,6 +381,32 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -13,6 +13,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql-prepare-db-dir + mysql-wait-ready + mysql-check-socket ++ mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib + mysql.init diff --git a/community-mysql.spec b/community-mysql.spec index 19c4019..c51a860 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -59,7 +59,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 2%{?dist} +Release: 3%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -80,7 +80,8 @@ Source12: mysql-prepare-db-dir.sh Source13: mysql-wait-ready.sh Source14: mysql-check-socket.sh Source15: mysql-scripts-common.sh -Source18: mysql.init.in +Source16: mysql-check-upgrade.sh +Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc @@ -403,7 +404,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE18} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} scripts %build # fail quickly and obviously if user tries to build as root @@ -519,6 +520,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 # mysql-test includes one executable that doesn't belong under /usr/share, @@ -852,6 +854,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} @@ -897,6 +900,9 @@ fi %endif %changelog +* Mon Sep 29 2014 Honza Horak - 5.6.21-3 +- Check upgrade script added to warn about need for mysql_upgrade + * Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 - Using %%cmake macro break some tests, reverted - Unwanted dtrace dep fixed upstream diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh new file mode 100644 index 0000000..43941b8 --- /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: +http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html +EOF +fi + +exit 0 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index e1dad61..563f644 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 "@VERSION@" >"$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 69f97d3444fcbc05b2a0dc4e5a6272f5a8a03670 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 18:54:58 +0200 Subject: [PATCH 077/274] Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond with MariaDB upstream packages --- community-mysql.spec | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index c51a860..fb7e719 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -584,11 +584,11 @@ rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %if %{without client} rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,mysqlcheck,\ -mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{with config} @@ -697,6 +697,7 @@ fi %{_bindir}/mysql %{_bindir}/mysql_config_editor %{_bindir}/mysql_find_rows +%{_bindir}/mysql_plugin %{_bindir}/mysql_waitpid %{_bindir}/mysqlaccess %{_bindir}/mysqladmin @@ -712,6 +713,7 @@ fi %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* %{_mandir}/man1/mysql_find_rows.1* +%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysql_waitpid.1* %{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* @@ -749,6 +751,7 @@ fi %if %{with errmsg} %files errmsg +%{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/english %lang(bg) %{_datadir}/%{name}/bulgarian %lang(cs) %{_datadir}/%{name}/czech @@ -783,7 +786,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 @@ -819,7 +821,6 @@ 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* @@ -840,7 +841,6 @@ fi %{_mandir}/man8/mysqld.8* %{_datadir}/%{name}/dictionary.txt -%{_datadir}/%{name}/errmsg-utf8.txt %{_datadir}/%{name}/fill_help_tables.sql %{_datadir}/%{name}/innodb_memcached_config.sql %{_datadir}/%{name}/mysql_security_commands.sql @@ -902,6 +902,8 @@ fi %changelog * Mon Sep 29 2014 Honza Horak - 5.6.21-3 - Check upgrade script added to warn about need for mysql_upgrade +- Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond + with MariaDB upstream packages * Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 - Using %%cmake macro break some tests, reverted From 3ff9598ba20df229fc1671bf938da6e129bc66d4 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 29 Sep 2014 18:57:37 +0200 Subject: [PATCH 078/274] Add with_debug option --- community-mysql-paths.patch | 4 ++-- community-mysql.spec | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 95945bb..200aa3e 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -11,7 +11,7 @@ diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql 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); ++static int find_file_in_path(const char *name, char *to); int main(int argc,char *argv[]) @@ -45,7 +45,7 @@ diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql +#define PATH_SEP ':' +#endif + -+static int find_file_in_path(char *to, const char *name) ++static int find_file_in_path(const char *name, char *to) +{ + char *path,*pos,dir[2]; + const char *ext=""; diff --git a/community-mysql.spec b/community-mysql.spec index fb7e719..b69cd32 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -34,6 +34,9 @@ # those files may create issues %bcond_with 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 @@ -59,7 +62,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 3%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -461,8 +464,9 @@ cmake .. \ -DWITH_LIBEVENT=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DCMAKE_C_FLAGS="%{optflags}" \ - -DCMAKE_CXX_FLAGS="%{optflags}" \ + -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ +%{?with_debug: -DWITH_DEBUG=1}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -548,6 +552,10 @@ 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 +%if %{with debug} +mv %{buildroot}%{_libexecdir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld +%endif + # Back to src dir popd @@ -904,6 +912,7 @@ fi - Check upgrade script added to warn about need for mysql_upgrade - Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond with MariaDB upstream packages +- Add with_debug option * Thu Sep 25 2014 Bjorn Munch - 5.6.21-2 - Using %%cmake macro break some tests, reverted From 720b07e7be23788437c51f0ef361c93938ff9827 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 30 Sep 2014 21:34:18 +0200 Subject: [PATCH 079/274] Remove errmsg-utf8.txt if not packaged --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index b69cd32..e9d12f3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -610,6 +610,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,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} From 1e9e9080b58483d22de2d83eb6d3e3d43b95357d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 1 Oct 2014 15:30:21 +0200 Subject: [PATCH 080/274] Add bcond_without mysql_names --- community-mysql.spec | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index e9d12f3..10912bc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -57,12 +57,15 @@ # Home directory of mysql user should be same for all packages that create it %global mysqluserhome /var/lib/mysql +# Provide mysql names for compatibility +%bcond_without mysql_names + # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} Version: 5.6.21 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -141,10 +144,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 Conflicts: mariadb # mysql-cluster used to be built from this SRPM, but no more @@ -172,8 +177,10 @@ contains the standard MySQL client programs and generic MySQL files. Summary: The shared libraries required for MySQL clients Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} +%if %{with mysql_names} Provides: mysql-libs = %{sameevr} Provides: mysql-libs%{?_isa} = %{sameevr} +%endif %description libs The mysql-libs package provides the essential shared libraries for any @@ -243,10 +250,12 @@ Requires: 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 Conflicts: mariadb-server Conflicts: mariadb-galera-server @@ -278,8 +287,10 @@ Summary: MySQL 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 %description embedded MySQL is a multi-user, multi-threaded SQL database server. This @@ -307,8 +318,10 @@ Summary: MySQL benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Conflicts: mariadb-bench +%if %{with mysql_names} Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} +%endif %description bench MySQL is a multi-user, multi-threaded SQL database server. This @@ -336,8 +349,10 @@ Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) Conflicts: mariadb-test +%if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} +%endif %description test MySQL is a multi-user, multi-threaded SQL database server. This @@ -909,6 +924,9 @@ fi %endif %changelog +* Wed Oct 01 2014 Honza Horak - 5.6.21-4 +- Add bcond_without mysql_names + * Mon Sep 29 2014 Honza Horak - 5.6.21-3 - Check upgrade script added to warn about need for mysql_upgrade - Move mysql_plugin into base and errmsg-utf8.txt into -errmsg to correspond From e29bd9d1cc73832ab6a129102df8b5e08590b91a Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Wed, 8 Oct 2014 16:12:38 +0200 Subject: [PATCH 081/274] Fix rhbz #1149986; follow MySQL upstream and run pre/post scripts as root Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- community-mysql.spec | 5 ++++- mysql.service.in | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 10912bc..114154c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -65,7 +65,7 @@ Name: %{pkgname} Version: 5.6.21 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -924,6 +924,9 @@ fi %endif %changelog +* Wed Oct 08 2014 Bjorn Munch - 5.6.21-5 +- Fix rhbz #1149986 + * Wed Oct 01 2014 Honza Horak - 5.6.21-4 - Add bcond_without mysql_names diff --git a/mysql.service.in b/mysql.service.in index a33df16..2f09a0a 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -32,6 +32,9 @@ Type=simple User=mysql Group=mysql +# Execute pre and post scripts as root +PermissionsStartOnly=true + ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, From 891c072e027110a582d12e6dc18babc1539acfc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 3 Dec 2014 15:01:06 +0100 Subject: [PATCH 082/274] Update to 5.6.22 --- .gitignore | 1 + community-mysql-file-contents.patch | 16 ++++++++-------- community-mysql.spec | 11 ++++++++--- sources | 2 +- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 1656e1d..1f93e75 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /mysql-5.6.19.tar.gz /mysql-5.6.20.tar.gz /mysql-5.6.21.tar.gz +/mysql-5.6.22.tar.gz diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 76afb92..0991d7a 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-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 mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19/mysql-test/t/file_contents.test ---- mysql-5.6.19/mysql-test/t/file_contents.test.file-contents 2014-07-25 11:56:12.442153944 +0200 -+++ mysql-5.6.19/mysql-test/t/file_contents.test 2014-07-25 12:00:11.578581702 +0200 +diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22/mysql-test/t/file_contents.test +--- mysql-5.6.22/mysql-test/t/file_contents.test.file-contents 2014-12-03 15:05:18.629731527 +0100 ++++ mysql-5.6.22/mysql-test/t/file_contents.test 2014-12-03 15:09:36.082081039 +0100 @@ -11,7 +11,7 @@ --perl print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; @@ -18,8 +18,8 @@ diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19 # RPM package $dir_docs = $dir_bin; $dir_docs =~ s|/lib|/share/doc|; -@@ -26,7 +26,7 @@ if ($dir_bin =~ m|/usr/|) { - $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; +@@ -30,7 +30,7 @@ if ($dir_bin =~ m|/usr/|) { + } } } -} elsif ($dir_bin =~ m|/usr$|) { @@ -27,9 +27,9 @@ diff -up mysql-5.6.19/mysql-test/t/file_contents.test.file-contents mysql-5.6.19 # RPM build during development $dir_docs = "$dir_bin/share/doc"; if(-d "$dir_docs/packages") { -@@ -39,6 +39,15 @@ if ($dir_bin =~ m|/usr/|) { - # If not it might be ULN so try that - $dir_docs = glob "$dir_bin/share/doc/mysql-community-server*"; +@@ -47,6 +47,15 @@ if ($dir_bin =~ m|/usr/|) { + $dir_docs = glob "$dir_bin/share/mysql/docs"; + } } + + # All the above is entirely wacko, because these files are not docs; diff --git a/community-mysql.spec b/community-mysql.spec index 114154c..c6f4622 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -64,8 +64,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} -Version: 5.6.21 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 5.6.22 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -387,13 +387,15 @@ the MySQL sources. # Modify tests to pass on all archs pushd mysql-test + add_test () { echo $1 >> %{skiplist} } +touch %{skiplist} + # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt -touch %{skiplist} # Archs without hw performance counter, rh 741325 %ifarch %{arm} aarch64 sparc64 @@ -924,6 +926,9 @@ fi %endif %changelog +* Wed Dec 3 2014 Jakub Dorňák - 5.6.22-1 +- Update to MySQL 5.6.22 + * Wed Oct 08 2014 Bjorn Munch - 5.6.21-5 - Fix rhbz #1149986 diff --git a/sources b/sources index 012044f..099af04 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e47c3a70b8d89db3199a349204b2ae4e mysql-5.6.21.tar.gz +3985b634294482363f3d87e0d67f2262 mysql-5.6.22.tar.gz From 1eadb03b899b5ab5c56e7b2745d15a16b9b6b927 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 12 Jan 2015 16:34:36 +0100 Subject: [PATCH 083/274] Add configuration file for server --- community-mysql-scripts.patch | 3 ++- community-mysql.spec | 12 ++++++++++-- server.cnf.in | 15 +++++++++++++++ 3 files changed, 27 insertions(+), 3 deletions(-) create mode 100644 server.cnf.in diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 015e604..4044867 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,32 @@ ELSE() +@@ -381,6 +381,33 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -18,6 +18,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql_config_multilib + mysql.init + my.cnf ++ server.cnf + ) + FOREACH(file ${SYSTEMD_SCRIPTS}) + IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${file}.sh) diff --git a/community-mysql.spec b/community-mysql.spec index c6f4622..845ccaf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -65,7 +65,7 @@ Name: %{pkgname} Version: 5.6.22 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -90,6 +90,8 @@ Source16: mysql-check-upgrade.sh Source19: mysql.init.in # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc +# Configuration for server +Source31: server.cnf.in # Comments for these patches are in the patch files # Patches common for more mysql-like packages @@ -424,7 +426,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -543,6 +545,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait 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 -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -829,6 +832,8 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf + %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC @@ -926,6 +931,9 @@ fi %endif %changelog +* Mon Jan 12 2015 Honza Horak - 5.6.22-2 +- Add configuration file for server + * Wed Dec 3 2014 Jakub Dorňák - 5.6.22-1 - Update to MySQL 5.6.22 diff --git a/server.cnf.in b/server.cnf.in new file mode 100644 index 0000000..35e57a4 --- /dev/null +++ b/server.cnf.in @@ -0,0 +1,15 @@ +# +# These groups are read by MySQL server. +# Use it for options that only the server (but not clients) should see +# +# See the examples of server my.cnf files in /usr/share/mysql/ +# + +# this is read by the standalone daemon and embedded servers +[server] + +# this is only for the mysqld standalone daemon +[mysqld] +log-error=@LOG_LOCATION@ +pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid + From 0878280bf1914484af10952a886e1cb40d08d91a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 12 Jan 2015 23:15:34 +0100 Subject: [PATCH 084/274] Require mysql and mysql-compat-client only when providing them, since otherwise we cannot be sure there is such a package in the repo --- community-mysql.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 845ccaf..456e1a8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -236,7 +236,12 @@ Summary: The MySQL server and related files Group: Applications/Databases # note: no version here = %%{sameevr} +%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 8fcbdd71ee728caa1cbda06a4b6f350fb26d56bc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sat, 24 Jan 2015 23:03:48 +0100 Subject: [PATCH 085/274] Fix path for sysconfig file Filter provides in el6 properly Fix initscript file location --- community-mysql.spec | 49 +++++++++++++++++++++++++------------------- mysql.init.in | 4 +++- 2 files changed, 31 insertions(+), 22 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 456e1a8..641dac9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -2,7 +2,7 @@ %global pkgname community-mysql %global pkgnamepatch community-mysql -# 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} @@ -10,7 +10,7 @@ # set to 1 to enable %global with_shared_lib_major_hack 1 -# 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. @@ -41,12 +41,11 @@ %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv -%global daemon_name mysqld %else %bcond_with init_systemd %bcond_without init_sysv -%global daemon_name mysqld %endif +%global daemon_name mysqld # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -59,13 +58,14 @@ # Provide mysql names for compatibility %bcond_without mysql_names +%bcond_without conflicts # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: %{pkgname} Version: 5.6.22 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -153,7 +153,7 @@ Provides: mysql-compat-client = %{sameevr} Provides: mysql-compat-client%{?_isa} = %{sameevr} %endif -Conflicts: mariadb +%{?with_conflicts:Conflicts: mariadb} # mysql-cluster used to be built from this SRPM, but no more Obsoletes: mysql-cluster < 5.1.44 @@ -163,7 +163,7 @@ Obsoletes: mysql-cluster < 5.1.44 %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 @@ -263,8 +263,8 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} %endif -Conflicts: mariadb-server -Conflicts: mariadb-galera-server +%{?with_conflicts:Conflicts: mariadb-server} +%{?with_conflicts:Conflicts: mariadb-galera-server} %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -279,7 +279,7 @@ Summary: Files for development of MySQL applications Group: Applications/Databases Requires: %{name}-libs%{?_isa} = %{sameevr} Requires: openssl-devel%{?_isa} -Conflicts: mariadb-devel +%{?with_conflicts:Conflicts: mariadb-devel} %description devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -310,7 +310,7 @@ Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} -Conflicts: mariadb-embedded-devel +%{?with_conflicts:Conflicts: mariadb-embedded-devel} %description embedded-devel MySQL is a multi-user, multi-threaded SQL database server. This @@ -324,7 +324,7 @@ the embedded version of the MySQL server. Summary: MySQL benchmark scripts and data Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} -Conflicts: mariadb-bench +%{?with_conflicts:Conflicts: mariadb-bench} %if %{with mysql_names} Provides: mysql-bench = %{sameevr} Provides: mysql-bench%{?_isa} = %{sameevr} @@ -355,7 +355,7 @@ Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) Requires: perl(Time::HiRes) -Conflicts: mariadb-test +%{?with_conflicts:Conflicts: mariadb-test} %if %{with mysql_names} Provides: mysql-test = %{sameevr} Provides: mysql-test%{?_isa} = %{sameevr} @@ -477,8 +477,8 @@ cmake .. \ -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_INNODB_MEMCACHED=ON \ @@ -527,7 +527,7 @@ mkdir -p %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} 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 @@ -541,7 +541,7 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam # 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 @@ -695,6 +695,7 @@ if [ $1 = 1 ]; then fi %endif /bin/touch %{logfile} +/bin/chmod 0755 %{dbdatadir} %preun server %if %{with init_systemd} @@ -762,7 +763,6 @@ fi %if %{with clibrary} %files libs -%dir %{_libdir}/mysql %{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif @@ -771,14 +771,15 @@ 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 %endif %if %{with common} %files common %doc README COPYING 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 @@ -885,8 +886,7 @@ fi %{_datadir}/%{name}/mysql_test_data_timezone.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 @@ -894,8 +894,10 @@ fi %{_libexecdir}/mysql-scripts-common %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%attr(0755,mysql,mysql) %dir %{dbdatadir} %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} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -936,6 +938,11 @@ fi %endif %changelog +* Sat Jan 24 2015 Honza Horak - 5.6.22-3 +- Fix path for sysconfig file + Filter provides in el6 properly + Fix initscript file location + * Mon Jan 12 2015 Honza Horak - 5.6.22-2 - Add configuration file for server 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 740a4a01ca727b7fceab9e9bbee9e24d04e1f1a1 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 00:04:17 +0100 Subject: [PATCH 086/274] Fix path for sysconfig file Filter provides in el6 properly Fix initscript file location --- community-mysql.spec | 9 ++++++--- my.cnf.in | 31 ++++++++++--------------------- server.cnf.in | 10 ++++++++++ 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 641dac9..a7bd572 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -65,7 +65,7 @@ Name: %{pkgname} Version: 5.6.22 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -550,7 +550,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait 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 -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/server.cnf +install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -838,7 +838,7 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%config(noreplace) %{_sysconfdir}/my.cnf.d/server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf %{_libexecdir}/mysqld @@ -938,6 +938,9 @@ fi %endif %changelog +* Sat Jan 24 2015 Honza Horak - 5.6.22-4 +- Move server settings to renamed config file under my.cnf.d dir + * Sat Jan 24 2015 Honza Horak - 5.6.22-3 - Fix path for sysconfig file Filter provides in el6 properly diff --git a/my.cnf.in b/my.cnf.in index edad8f7..247e12d 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -1,29 +1,18 @@ +# +# 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 -# /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=@LOG_LOCATION@ -pid-file=@PID_FILE_DIR@/@DAEMON_NAME@.pid - -[mysqld_safe] # # include all files from the config directory # -!includedir /etc/my.cnf.d +!includedir @INSTALL_SYSCONF2DIR@ diff --git a/server.cnf.in b/server.cnf.in index 35e57a4..18d920c 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -9,7 +9,17 @@ [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] + From 245cc80c25bb2ca9602ad28f285bc8911305e81e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 12:07:57 +0100 Subject: [PATCH 087/274] Use pkg_name for files in share --- community-mysql.spec | 118 ++++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 57 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a7bd572..2d16f40 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -1,5 +1,5 @@ # Name of the package without any prefixes -%global pkgname community-mysql +%global pkg_name %{name} %global pkgnamepatch community-mysql # Regression tests may take a long time (many cores recommended), skip them by @@ -10,6 +10,10 @@ # set to 1 to enable %global with_shared_lib_major_hack 1 +# In f20+ use unversioned docdirs, otherwise the old versioned one +%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 @@ -41,9 +45,11 @@ %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv +%global daemondir %{_unitdir} %else %bcond_with init_systemd %bcond_without init_sysv +%global daemondir %{_sysconfdir}/rc.d/init.d %endif %global daemon_name mysqld @@ -53,6 +59,9 @@ %global logfiledir %{_localstatedir}/log %global logfile %{logfiledir}/%{daemon_name}.log +# 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 @@ -63,7 +72,7 @@ # Make long macros shorter %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} -Name: %{pkgname} +Name: community-mysql Version: 5.6.22 Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries @@ -459,24 +468,19 @@ cmake .. \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ -%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 \ @@ -550,7 +554,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait 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 -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf +install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink @@ -561,17 +565,17 @@ ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/ rm -f %{buildroot}%{_bindir}/mysqlaccess.conf rm -f %{buildroot}%{_bindir}/mysql_embedded rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{name}/binary-configure -rm -f %{buildroot}%{_datadir}/%{name}/magic -rm -f %{buildroot}%{_datadir}/%{name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{name}/mysqld_multi.server +rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure +rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic +rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server +rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm -f %{buildroot}%{_mandir}/man1/comp_err.1* rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be mkdir -p %{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 @@ -631,12 +635,12 @@ rm -f %{buildroot}%{_sysconfdir}/my.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,bulgarian,czech,danish,dutch,estonian,\ +rm -f %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -rf %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif @@ -780,37 +784,37 @@ fi %doc README COPYING 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(bg) %{_datadir}/%{name}/bulgarian -%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(bg) %{_datadir}/%{pkg_name}/bulgarian +%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 @@ -838,14 +842,14 @@ fi %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkgname}-server.cnf +%config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN %if %{without common} -%dir %{_datadir}/%{name} +%dir %{_datadir}/%{pkg_name} %endif %{_libdir}/mysql/plugin @@ -877,14 +881,14 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* -%{_datadir}/%{name}/dictionary.txt -%{_datadir}/%{name}/fill_help_tables.sql -%{_datadir}/%{name}/innodb_memcached_config.sql -%{_datadir}/%{name}/mysql_security_commands.sql -%{_datadir}/%{name}/mysql_system_tables.sql -%{_datadir}/%{name}/mysql_system_tables_data.sql -%{_datadir}/%{name}/mysql_test_data_timezone.sql -%{_datadir}/%{name}/my-*.cnf +%{_datadir}/%{pkg_name}/dictionary.txt +%{_datadir}/%{pkg_name}/fill_help_tables.sql +%{_datadir}/%{pkg_name}/innodb_memcached_config.sql +%{_datadir}/%{pkg_name}/mysql_security_commands.sql +%{_datadir}/%{pkg_name}/mysql_system_tables.sql +%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql +%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql +%{_datadir}/%{pkg_name}/my-*.cnf %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir From e11843d212954392bf981857dea10157bdd83e1e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 25 Jan 2015 19:53:08 +0100 Subject: [PATCH 088/274] Use correct dir for config files --- community-mysql.spec | 7 +++++-- my.cnf.in | 2 +- mysql-check-upgrade.sh | 6 +++--- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2d16f40..29f4d94 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -74,7 +74,7 @@ Name: community-mysql Version: 5.6.22 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -468,6 +468,7 @@ cmake .. \ -DNICE_PROJECT_NAME="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ + -DSYSCONF2DIR="%{_sysconfdir}/my.cnf.d" \ -DINSTALL_DOCDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ @@ -699,7 +700,6 @@ if [ $1 = 1 ]; then fi %endif /bin/touch %{logfile} -/bin/chmod 0755 %{dbdatadir} %preun server %if %{with init_systemd} @@ -942,6 +942,9 @@ fi %endif %changelog +* Sun Jan 25 2015 Honza Horak - 5.6.22-5 +- Use correct dir for config files + * Sat Jan 24 2015 Honza Horak - 5.6.22-4 - Move server settings to renamed config file under my.cnf.d dir diff --git a/my.cnf.in b/my.cnf.in index 247e12d..1e9009e 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -14,5 +14,5 @@ symbolic-links=0 # # include all files from the config directory # -!includedir @INSTALL_SYSCONF2DIR@ +!includedir @SYSCONF2DIR@ diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh index 43941b8..cf41d84 100644 --- a/mysql-check-upgrade.sh +++ b/mysql-check-upgrade.sh @@ -27,9 +27,9 @@ 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' - 3. Run 'mysql_upgrade' with a database user that has sufficent privileges + 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: http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html From e406525eb59c8a863955167731afa6e73cc0ad69 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 26 Jan 2015 17:57:44 +0100 Subject: [PATCH 089/274] Do not own /var/log --- community-mysql.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 29f4d94..12aa749 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -74,7 +74,7 @@ Name: community-mysql Version: 5.6.22 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -901,7 +901,6 @@ fi %attr(0755,mysql,mysql) %dir %{dbdatadir} %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} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -942,6 +941,9 @@ fi %endif %changelog +* Mon Jan 26 2015 Honza Horak - 5.6.22-6 +- Do not own /var/log + * Sun Jan 25 2015 Honza Horak - 5.6.22-5 - Use correct dir for config files From 3266fef508cceddafa83b79ea6a491a6f0e97f61 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Mon, 2 Feb 2015 15:07:16 +0100 Subject: [PATCH 090/274] Update to MySQL 5.6.23 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-expired-certs.patch | 571 ---------------------------- community-mysql-file-contents.patch | 2 +- community-mysql.spec | 14 +- server.cnf.in | 2 +- sources | 2 +- 6 files changed, 14 insertions(+), 578 deletions(-) delete mode 100644 community-mysql-expired-certs.patch diff --git a/.gitignore b/.gitignore index 1f93e75..d6dcc65 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /mysql-5.6.20.tar.gz /mysql-5.6.21.tar.gz /mysql-5.6.22.tar.gz +/mysql-5.6.23.tar.gz diff --git a/community-mysql-expired-certs.patch b/community-mysql-expired-certs.patch deleted file mode 100644 index 2418bea..0000000 --- a/community-mysql-expired-certs.patch +++ /dev/null @@ -1,571 +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 -u mysql-5.6.10/mysql-test/r/ssl.result.orig mysql-5.6.10/mysql-test/r/ssl.result ---- mysql-5.6.10/mysql-test/r/ssl.result.orig 2013-03-04 09:50:24.227923768 +0100 -+++ mysql-5.6.10/mysql-test/r/ssl.result 2013-03-04 09:53:28.449873521 +0100 -@@ -3,10 +3,10 @@ - Ssl_cipher DHE-RSA-AES256-SHA - SHOW STATUS LIKE 'Ssl_server_not_before'; - Variable_name Value --Ssl_server_not_before Jan 29 11:56:49 2010 GMT -+Ssl_server_not_before Feb 20 02:55:06 2010 GMT - SHOW STATUS LIKE 'Ssl_server_not_after'; - Variable_name Value --Ssl_server_not_after Jan 28 11:56:49 2015 GMT -+Ssl_server_not_after Sep 3 02:55:06 2030 GMT - drop table if exists t1,t2,t3,t4; - CREATE TABLE t1 ( - Period smallint(4) unsigned zerofill DEFAULT '0000' NOT NULL, diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index 0991d7a..ed72d5c 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -42,4 +42,4 @@ diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22 + } } } else { - # tar.gz package, Windows, or developer work (in BZR) + # tar.gz package, Windows, or developer work (in git) diff --git a/community-mysql.spec b/community-mysql.spec index 12aa749..b37edef 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,8 +73,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.22 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 5.6.23 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -116,7 +116,6 @@ Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package -Patch50: %{pkgnamepatch}-expired-certs.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch @@ -389,7 +388,6 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch50 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 @@ -941,6 +939,14 @@ fi %endif %changelog +* Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 +- Update to MySQL 5.6.23, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-23.html +- Expired certs patch now obsolete +- Fixed changelog +- Refreshed file contents patch +- Fix typo in server.cnf.in + * Mon Jan 26 2015 Honza Horak - 5.6.22-6 - Do not own /var/log diff --git a/server.cnf.in b/server.cnf.in index 18d920c..2c0572e 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -15,7 +15,7 @@ # 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/sources b/sources index 099af04..13cbdde 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3985b634294482363f3d87e0d67f2262 mysql-5.6.22.tar.gz +60344f26eae136a267a0277407926e79 mysql-5.6.23.tar.gz From 47a549048bf8729b7983026c11c9ed75ca653cca Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 3 Feb 2015 15:03:35 +0100 Subject: [PATCH 091/274] Removing man pages patch since upstream claims the version in tarball is correct. --- community-mysql-man-pages.patch | 979 -------------------------------- community-mysql.spec | 3 +- 2 files changed, 1 insertion(+), 981 deletions(-) delete mode 100644 community-mysql-man-pages.patch diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch deleted file mode 100644 index 43fe99d..0000000 --- a/community-mysql-man-pages.patch +++ /dev/null @@ -1,979 +0,0 @@ -diff --git a/man/mysql.1 b/man/mysql.1 -index 2e1602c..1e1d9f3 100644 ---- a/man/mysql.1 -+++ b/man/mysql.1 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Options that Affect Option-File Handling\(r - .\" mysql: help option - .\" help option: mysql - \fB\-\-help\fR, --\fB\-?\fR -+\fB\-?\fR, -+\fB\-I\fR - .sp - Display a help message and exit\&. - .RE -@@ -348,6 +349,21 @@ Compress all information sent between the client and the server if both support - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -+.\" mysql: connect-timeout option -+.\" connect-timeout option: mysql -+\fB\-\-connect\-timeout=\fR\fB\fIseconds\fR\fR -+.sp -+Set the time for connection timeout in seconds\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .el \{\ - .sp -1 - .IP \(bu 2.3 -@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. - .sp - .RS 4 - .ie n \{\ -+.\" 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 -+.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\(rq)\&. - .el \{\ - .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 -+Specify the maximum packet length to send to or recieve form server\&. -+.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\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\} - .\" mysql: init-command option - .\" init-command option: mysql -@@ -691,6 +768,21 @@ has no effect if the server does not also support it\&. - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -+.\" 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 -+.\} - .\} - .el \{\ - .sp -1 -@@ -911,6 +1003,21 @@ the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&. - \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, - \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR - .sp -+.\" 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 -+.\} - The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you - \fIcannot\fR - have a space between the option and the password\&. If you omit the -@@ -1102,6 +1209,36 @@ If the connection to the server is lost, automatically try to reconnect\&. A sin - \fB\-\-skip\-reconnect\fR\&. - .RE - .sp -+.\" 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\&. -+.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 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -1146,9 +1283,39 @@ to disable it\&. - .if n \{\ - .sp - .\} -+.\" 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\&. -+.RE -+.sp -+.RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .RS 4 - .it 1 an-trap - .nr an-no-space-flag 1 -+.\" 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 -+.\} - .nr an-break-flag 1 - .br - .ps +1 -@@ -1305,7 +1472,7 @@ localhost, the Unix socket file to use, or, on Windows, the name of the named pi - \fB\-\-ssl*\fR - .sp - Options that begin with --\fB\-\-ssl\fR -+\fB\-\-ssl\fR, - specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.10.4, \(lqSSL Command Options\(rq\&. - .RE -@@ -1481,7 +1648,7 @@ The XML output also uses an XML namespace, as shown here: - .RS 4 - .\} - .nf --shell> \fBmysql \-\-xml \-uroot \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR -+shell> \fBmysql \-\-xml \-u root \-e "SHOW VARIABLES LIKE \*(Aqversion%\*(Aq"\fR - - - -@@ -3395,16 +3562,16 @@ statements that probably need to examine more than 1,000,000 row combinations\&. - .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 --git a/man/mysql_config.1 b/man/mysql_config.1 -index 5bd4e5b..e7e11db 100644 ---- a/man/mysql_config.1 -+++ b/man/mysql_config.1 -@@ -174,6 +174,22 @@ The default TCP/IP port number, defined when configuring MySQL\&. - .sp - .RS 4 - .ie n \{\ -+.\" 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 -+.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -diff --git a/man/mysqladmin.1 b/man/mysqladmin.1 -index d1a1020..111715e 100644 ---- a/man/mysqladmin.1 -+++ b/man/mysqladmin.1 -@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. - .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: compress option - .\" compress option: mysqladmin - \fB\-\-compress\fR, -@@ -729,6 +744,37 @@ Print debugging information and memory and CPU usage statistics when the program - .sp - The client\-side authentication plugin to use\&. See - Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. -+.\" 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 -+.\} - .RE - .sp - .RS 4 -@@ -789,6 +835,21 @@ command\&. With multiple commands, continue even if an error occurs\&. - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -+.\" 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 -+.\} - .el \{\ - .sp -1 - .IP \(bu 2.3 -@@ -887,6 +948,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guidelines for Password Security\(rq\&. You can - On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. - .RE - .sp -+.\" 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 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -967,6 +1043,21 @@ command\&. - .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 -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqladmin: secure-auth option - .\" secure-auth option: mysqladmin - \fB\-\-secure\-auth\fR -diff --git a/man/mysqlbinlog.1 b/man/mysqlbinlog.1 -index eead304..8e30383 100644 ---- a/man/mysqlbinlog.1 -+++ b/man/mysqlbinlog.1 -@@ -629,6 +629,7 @@ Do not display any of the groups listed in the - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -743,6 +744,22 @@ or any other MySQL program\&. - .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: login-path option - .\" login-path option: mysqlbinlog - \fB\-\-login\-path=\fR\fB\fIname\fR\fR -diff --git a/man/mysqlcheck.1 b/man/mysqlcheck.1 -index 8f1a6ce..2cddc1f 100644 ---- a/man/mysqlcheck.1 -+++ b/man/mysqlcheck.1 -@@ -456,6 +456,38 @@ Print some debugging information when the program exits\&. - .IP \(bu 2.3 - .\} - .\" mysqlcheck: debug-info option -+.\" 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 -+.\} - .\" debug-info option: mysqlcheck - \fB\-\-debug\-info\fR - .sp -@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. Only table names that contain special cha - .\} - .\" mysqlcheck: force option - .\" force option: mysqlcheck -+.\" 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 -+.\} - \fB\-\-force\fR, - \fB\-f\fR - .sp -@@ -728,6 +775,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .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 -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlcheck: port option - .\" port option: mysqlcheck - \fB\-\-port=\fR\fB\fIport_num\fR\fR, -diff --git a/man/mysqldump.1 b/man/mysqldump.1 -index 9f5dad4..d92f4e6 100644 ---- a/man/mysqldump.1 -+++ b/man/mysqldump.1 -@@ -1304,7 +1304,7 @@ statements that include column names\&. - .\} - .\" 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 -@@ -1724,6 +1724,38 @@ Do not dump the given table, which must be specified using both the database and - \fB\-d\fR - .sp - Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the -+.\" 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 -+.\} - CREATE TABLE - statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. - .RE -@@ -1975,6 +2007,36 @@ for information about selectively enabling or disabling a subset of the options - .IP \(bu 2.3 - .\} - .\" mysqldump: quick option -+.\" 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 -+.\} - .\" quick option: mysqldump - \fB\-\-quick\fR, - \fB\-q\fR -@@ -2252,6 +2314,21 @@ is on by default\&. Thus you rarely if ever specify - .el \{\ - .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 -+.\} - .\} - The - \fB\-\-compact\fR -@@ -2436,6 +2513,21 @@ is on by default\&.) - .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 -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - To reverse - \fB\-\-opt\fR - for all features except index disabling and table locking, use -diff --git a/man/mysqlimport.1 b/man/mysqlimport.1 -index 9d82dab..1d231d3 100644 ---- a/man/mysqlimport.1 -+++ b/man/mysqlimport.1 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2\&. - .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 -@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE Syntax\(rq\&. - Read input files locally from the client host\&. - .RE - .sp -+.\" 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 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -535,6 +583,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .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 -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlimport: port option - .\" port option: mysqlimport - \fB\-\-port=\fR\fB\fIport_num\fR\fR, -diff --git a/man/mysqlshow.1 b/man/mysqlshow.1 -index 0634515..0cfbfd3 100644 ---- a/man/mysqlshow.1 -+++ b/man/mysqlshow.1 -@@ -173,7 +173,7 @@ This option is supported beginning with MySQL 5\&.6\&.1\&. - .\} - .\" 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\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. - .\} - .el \{\ - .sp -1 -+.\" 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 -+.\} - .IP \(bu 2.3 - .\} - .\" mysqlshow: default-auth option -@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2\&. - Connect to the MySQL server on the given host\&. - .RE - .sp -+.\" 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 -+.\} - .RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c -@@ -429,6 +477,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .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 -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlshow: port option - .\" port option: mysqlshow - \fB\-\-port=\fR\fB\fIport_num\fR\fR, -diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 -index 7c4d4e7..85a5168 100644 ---- a/man/mysqlslap.1 -+++ b/man/mysqlslap.1 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2\&. - .el \{\ - .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 -@@ -584,6 +616,37 @@ Section\ \&6.3.8.7, \(lqThe Cleartext Client-Side Authentication Plugin\(rq\&.) - \fB\-e \fR\fB\fIengine_name\fR\fR - .sp - The storage engine to use for creating tables\&. -+.\" 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 -+.\} - .RE - .sp - .RS 4 -@@ -822,6 +885,22 @@ This option was added in MySQL 5\&.6\&.2\&. - .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 -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} - .\" mysqlslap: port option - .\" port option: mysqlslap - \fB\-\-port=\fR\fB\fIport_num\fR\fR, diff --git a/community-mysql.spec b/community-mysql.spec index b37edef..5a64f0c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -119,7 +119,6 @@ Patch10: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch -Patch54: %{pkgnamepatch}-man-pages.patch Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch Patch56: %{pkgnamepatch}-pluginerrmsg.patch Patch57: %{pkgnamepatch}-5.6.19-gcc49-aarch64-opt.patch @@ -391,7 +390,6 @@ the MySQL sources. %patch51 -p1 %patch52 -p1 %patch53 -p1 -%patch54 -p1 %patch55 -p1 %patch56 -p1 %patch57 -p1 @@ -945,6 +943,7 @@ fi - Expired certs patch now obsolete - Fixed changelog - Refreshed file contents patch +- Man pages fixed upstream - Fix typo in server.cnf.in * Mon Jan 26 2015 Honza Horak - 5.6.22-6 From 7e9daefea9d07cf4a5e8dd9d9c5488a8422262f5 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 12:32:53 +0100 Subject: [PATCH 092/274] Add comment into community-mysql-5.6.16-mysql-install.patch about its purpose --- community-mysql-5.6.16-mysql-install.patch | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 232687d..5efc4eb 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -1,3 +1,10 @@ +We have, for security hardening reasons, changed upstream sources to never +create the test database in 5.7. This patch is a backport from 5.7. + +The patch in Fedora is the same that we apply in our own repos. Debian and +Ubuntu are also skipping creation of the test database, so we're trying +to align across distros in this issue. + diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 1fa5164..4aa49ca 100644 --- a/scripts/mysql_install_db.pl.in From 90502f12b138c5abc9a562c4087bd29934946bad Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 13:16:31 +0100 Subject: [PATCH 093/274] Expand paths in perl scripts in mysql-test Conflicts: community-mysql.spec --- community-mysql-sharedir.patch | 22 ++++++++++++++++++---- community-mysql.spec | 5 ++++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 0311bfc..19f0b33 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -6,7 +6,7 @@ diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql- -my @share_locations= ("share/mysql", "sql/share", "share"); -+my @share_locations= ("share/community-mysql", "sql/share", "share"); ++my @share_locations= ("@INSTALL_MYSQLSHAREDIR@", "sql/share", "share"); sub get_basedir { @@ -18,12 +18,12 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m # Look for language files and charsetsdir, use same share - $path_language= mtr_path_exists("$bindir/share/mysql", -+ $path_language= mtr_path_exists("$bindir/share/community-mysql", ++ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/sql/share", "$bindir/share"); my $path_share= $path_language; - $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets", -+ $path_charsetsdir = mtr_path_exists("$basedir/share/community-mysql/charsets", ++ $path_charsetsdir = mtr_path_exists("$basedir/@INSTALL_MYSQLSHAREDIR@/charsets", "$basedir/sql/share/charsets", "$basedir/share/charsets"); @@ -32,7 +32,21 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m my $path_sql= my_find_file($install_basedir, - ["mysql", "sql/share", "share/mysql", -+ ["mysql", "sql/share", "share/community-mysql", ++ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@", "share", "scripts"], "mysql_system_tables.sql", NOT_REQUIRED); +diff -up mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir mysql-5.6.23/mysql-test/CMakeLists.txt +--- mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir 2015-01-19 14:48:31.000000000 +0100 ++++ mysql-5.6.23/mysql-test/CMakeLists.txt 2015-02-23 13:11:58.358488693 +0100 +@@ -33,6 +33,10 @@ ENDIF() + + + ++# Expand some paths in the perl scripts correctly ++CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY) ++CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY) ++ + IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) + # Enable running mtr from build directory + CONFIGURE_FILE( diff --git a/community-mysql.spec b/community-mysql.spec index 5a64f0c..d3c599e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -74,7 +74,7 @@ Name: community-mysql Version: 5.6.23 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -937,6 +937,9 @@ fi %endif %changelog +* Mon Feb 23 2015 Honza Horak - 5.6.23-3 +- Expand paths in perl scripts in mysql-test + * Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 - Update to MySQL 5.6.23, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-23.html From d90e5b11b6073554bcd4d3bd397036d3b421bb5a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 13:38:37 +0100 Subject: [PATCH 094/274] Use correct path in install_db script warning --- community-mysql-paths.patch | 99 +++++++++++++++++++++---------------- community-mysql.spec | 1 + 2 files changed, 57 insertions(+), 43 deletions(-) diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 200aa3e..d406b96 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,9 +4,9 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 -diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql_plugin.c ---- mysql-5.6.19/client/mysql_plugin.c.cmakepaths 2014-05-06 12:45:57.000000000 +0200 -+++ mysql-5.6.19/client/mysql_plugin.c 2014-07-25 13:12:36.991896193 +0200 +diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_plugin.c +--- mysql-5.6.23/client/mysql_plugin.c.hardpaths 2015-01-19 14:48:30.000000000 +0100 ++++ mysql-5.6.23/client/mysql_plugin.c 2015-02-23 13:34:21.328484658 +0100 @@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); static int build_bootstrap_file(char *operation, char *bootstrap); static int dump_bootstrap_file(char *bootstrap_file); @@ -89,9 +89,29 @@ diff -up mysql-5.6.19/client/mysql_plugin.c.cmakepaths mysql-5.6.19/client/mysql /** Locate the tool and form tool path. -diff -up mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths mysql-5.6.19/mysys_ssl/my_default.cc ---- mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths 2014-05-06 12:45:58.000000000 +0200 -+++ mysql-5.6.19/mysys_ssl/my_default.cc 2014-07-25 13:19:12.587624249 +0200 +diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/install_layout.cmake +--- mysql-5.6.23/cmake/install_layout.cmake.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/cmake/install_layout.cmake 2015-02-23 13:34:21.330484657 +0100 +@@ -94,7 +94,7 @@ IF(UNIX) + " Choose between ${VALID_INSTALL_LAYOUTS}" ) + ENDIF() + +- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" ++ SET(SYSCONFDIR "/etc" + CACHE PATH "config directory (for my.cnf)") + MARK_AS_ADVANCED(SYSCONFDIR) + ENDIF() +@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE + SET(INSTALL_BINDIR_RPM "bin") + SET(INSTALL_SBINDIR_RPM "sbin") + SET(INSTALL_SCRIPTDIR_RPM "bin") ++SET(INSTALL_SYSCONFDIR_RPM "/etc") + # + IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") + SET(INSTALL_LIBDIR_RPM "lib64") +diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/my_default.cc +--- mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/mysys_ssl/my_default.cc 2015-02-23 13:34:21.329484658 +0100 @@ -1389,12 +1389,12 @@ static const char **init_default_directo #else @@ -108,9 +128,21 @@ diff -up mysql-5.6.19/mysys_ssl/my_default.cc.cmakepaths mysql-5.6.19/mysys_ssl/ #endif /* DEFAULT_SYSCONFDIR */ #endif -diff -up mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths mysql-5.6.19/scripts/mysqlaccess.sh ---- mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 -+++ mysql-5.6.19/scripts/mysqlaccess.sh 2014-07-25 13:12:36.995896200 +0200 +diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMakeLists.txt +--- mysql-5.6.23/scripts/CMakeLists.txt.hardpaths 2015-02-23 13:34:21.325484657 +0100 ++++ mysql-5.6.23/scripts/CMakeLists.txt 2015-02-23 13:34:21.330484657 +0100 +@@ -219,7 +219,7 @@ INSTALL_SCRIPT( + ) + + SET(prefix "${CMAKE_INSTALL_PREFIX}") +-SET(sysconfdir ${prefix}) ++SET(sysconfdir ${SYSCONFDIR}) + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) + SET(scriptdir ${prefix}/${INSTALL_BINDIR}) +diff -up mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths mysql-5.6.23/scripts/mysqlaccess.sh +--- mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/scripts/mysqlaccess.sh 2015-02-23 13:34:21.329484658 +0100 @@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); elsif (-f "@sysconfdir@/$script_conf") { require "@sysconfdir@/$script_conf"; @@ -129,9 +161,9 @@ diff -up mysql-5.6.19/scripts/mysqlaccess.sh.cmakepaths mysql-5.6.19/scripts/mys MergeConfigFile("$dir/.my.cnf"); } -diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/mysqld_multi.sh ---- mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths 2014-05-06 12:45:58.000000000 +0200 -+++ mysql-5.6.19/scripts/mysqld_multi.sh 2014-07-25 13:12:36.996896202 +0200 +diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mysqld_multi.sh +--- mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 ++++ mysql-5.6.23/scripts/mysqld_multi.sh 2015-02-23 13:34:21.329484658 +0100 @@ -573,9 +573,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once @@ -143,34 +175,15 @@ diff -up mysql-5.6.19/scripts/mysqld_multi.sh.cmakepaths mysql-5.6.19/scripts/my ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), $opt{'extra-file'}, ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); ---- mysql-5.6.19/cmake/install_layout.cmake.cmakepaths 2014-07-25 14:21:56.063132378 +0200 -+++ mysql-5.6.19/cmake/install_layout.cmake 2014-07-25 14:25:46.894644591 +0200 -@@ -94,7 +94,7 @@ IF(UNIX) - " Choose between ${VALID_INSTALL_LAYOUTS}" ) - ENDIF() - -- SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" -+ SET(SYSCONFDIR "/etc" - CACHE PATH "config directory (for my.cnf)") - MARK_AS_ADVANCED(SYSCONFDIR) - ENDIF() -@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE - SET(INSTALL_BINDIR_RPM "bin") - SET(INSTALL_SBINDIR_RPM "sbin") - SET(INSTALL_SCRIPTDIR_RPM "bin") -+SET(INSTALL_SYSCONFDIR_RPM "/etc") - # - IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - SET(INSTALL_LIBDIR_RPM "lib64") -diff -up mysql-5.6.20/scripts/CMakeLists.txt.pathsmore mysql-5.6.20/scripts/CMakeLists.txt ---- mysql-5.6.20/scripts/CMakeLists.txt.pathsmore 2014-08-05 16:41:28.900098862 +0200 -+++ mysql-5.6.20/scripts/CMakeLists.txt 2014-08-05 16:41:52.474177142 +0200 -@@ -228,7 +228,7 @@ INSTALL_SCRIPT( - ) - - SET(prefix "${CMAKE_INSTALL_PREFIX}") --SET(sysconfdir ${prefix}) -+SET(sysconfdir ${SYSCONFDIR}) - SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) - SET(scriptdir ${prefix}/${INSTALL_BINDIR}) +diff -up mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths mysql-5.6.23/scripts/mysql_install_db.pl.in +--- mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths 2015-02-23 13:34:37.995485386 +0100 ++++ mysql-5.6.23/scripts/mysql_install_db.pl.in 2015-02-23 13:35:15.505487028 +0100 +@@ -922,7 +922,7 @@ if ( open(PIPE, "| $mysqld_install_cmd_l + "The new default config file was created as $copy_cfg_file,", + "please compare it with your file and take the changes you need."); + } +- foreach my $cfg ( "/etc/my.$cnfext", "/etc/mysql/my.$cnfext" ) ++ foreach my $cfg ( "@SYSCONFDIR@/my.$cnfext", "@SYSCONFDIR@/mysql/my.$cnfext" ) + { + check_sys_cfg_file ($opt, $cfg); + } diff --git a/community-mysql.spec b/community-mysql.spec index d3c599e..3e6dba6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -939,6 +939,7 @@ fi %changelog * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test +- Use correct path in install_db script warning * Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 - Update to MySQL 5.6.23, for various fixes described at From 82d026ef2959035fa0b6626c3540760f10aeabbe Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 23 Feb 2015 14:40:08 +0100 Subject: [PATCH 095/274] Use --no-defaults when checking server status before starting --- community-mysql.spec | 1 + mysql.init.in | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3e6dba6..df3cf6d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -940,6 +940,7 @@ fi * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test - Use correct path in install_db script warning +- Use --no-defaults when checking server status before starting * Thu Jan 29 2015 Bjorn Munch - 5.6.23-1 - Update to MySQL 5.6.23, for various fixes described at diff --git a/mysql.init.in b/mysql.init.in index be34fbf..475fa72 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -53,7 +53,7 @@ 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 From 062422d0a194e7ee95177ed67c1f41a04d5eb3aa Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 15:59:39 +0100 Subject: [PATCH 096/274] Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html Conflicts: community-mysql.spec --- community-mysql.spec | 19 ++++++++++++++----- mysql.init.in | 4 ++-- server.cnf.in | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index df3cf6d..f83186e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -52,12 +52,16 @@ %global daemondir %{_sysconfdir}/rc.d/init.d %endif %global daemon_name mysqld +%global daemon_no_prefix mysqld + +# Directory for storing pid file +%global pidfiledir %{_localstatedir}/run/%{daemon_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 -%global logfile %{logfiledir}/%{daemon_name}.log +%global logfile %{logfiledir}/%{daemon_no_prefix}.log # Defining where database data live %global dbdatadir %{_localstatedir}/lib/mysql @@ -74,7 +78,7 @@ Name: community-mysql Version: 5.6.23 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -459,8 +463,9 @@ cmake .. \ -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="MySQL" \ -DCMAKE_INSTALL_PREFIX="%{_prefix}" \ -DSYSCONFDIR="%{_sysconfdir}" \ @@ -527,7 +532,7 @@ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} touch %{buildroot}%{logfile} -mkdir -p %{buildroot}%{_localstatedir}/run/%{daemon_name} +mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} %if %{with config} @@ -895,7 +900,7 @@ fi %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/run/%{daemon_name} +%attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -937,6 +942,10 @@ fi %endif %changelog +* Tue Mar 03 2015 Honza Horak - 5.6.23-4 +- Do not use scl prefix more than once in paths + Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html + * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test - Use correct path in install_db script warning diff --git a/mysql.init.in b/mysql.init.in index 475fa72..3dfa55a 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: /var/run/@DAEMON_NAME@/@DAEMON_NO_PREFIX@.pid ### BEGIN INIT INFO # Provides: mysqld # Required-Start: $local_fs $remote_fs $network $named $syslog $time @@ -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 diff --git a/server.cnf.in b/server.cnf.in index 2c0572e..e25b599 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -17,7 +17,7 @@ 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 From 42a566e9d735656d4a0c0cc498ee0aa8c0513266 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 16:02:11 +0100 Subject: [PATCH 097/274] Check permissions when starting service on RHEL-6 Resolves: #1194699 --- community-mysql.spec | 2 ++ mysql.init.in | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index f83186e..d5cc07a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -945,6 +945,8 @@ fi * Tue Mar 03 2015 Honza Horak - 5.6.23-4 - Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html +- Check permissions when starting service on RHEL-6 + Resolves: #1194699 * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test diff --git a/mysql.init.in b/mysql.init.in index 3dfa55a..e9a34c2 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 9abc7519cebbc870303c9b5af502132a9fcd100c Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Feb 2015 21:41:01 +0100 Subject: [PATCH 098/274] Wait for daemon ends Related: #1072958 Conflicts: community-mysql.spec mysql-scl-env-check.patch --- community-mysql-scripts.patch | 3 ++- community-mysql.spec | 7 ++++++- mysql-wait-stop.sh | 36 +++++++++++++++++++++++++++++++++++ mysql.service.in | 1 + 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 mysql-wait-stop.sh diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 4044867..e7874ce 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt --- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 +++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,33 @@ ELSE() +@@ -381,6 +381,34 @@ ELSE() ENDIF() INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) ENDFOREACH() @@ -12,6 +12,7 @@ diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLis + mysql.service + mysql-prepare-db-dir + mysql-wait-ready ++ mysql-wait-stop + mysql-check-socket + mysql-check-upgrade + mysql-scripts-common diff --git a/community-mysql.spec b/community-mysql.spec index d5cc07a..d046ed3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -100,6 +100,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 # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc @@ -440,7 +441,7 @@ add_test 'main.upgrade : unknown' popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE19} %{SOURCE31} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -553,6 +554,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 @@ -894,6 +896,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 @@ -947,6 +950,8 @@ fi Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html - Check permissions when starting service on RHEL-6 Resolves: #1194699 +- Wait for daemon ends + Related: #1072958 * Mon Feb 23 2015 Honza Horak - 5.6.23-3 - Expand paths in perl scripts in mysql-test 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 2f09a0a..b9adee8 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -42,6 +42,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 c99fec280ca290c13a331e880ef9449c9346d596 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 22:42:49 +0100 Subject: [PATCH 099/274] Do not include symlink to libmysqlclient if not shipping the library --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index d046ed3..6d75300 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -605,6 +605,8 @@ cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqlt cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 %if %{without clibrary} +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so +unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif @@ -914,8 +916,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 From df95dc8b675c9fd9ebdc34b6fdbf9527bed94b6a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 6 Mar 2015 22:45:19 +0100 Subject: [PATCH 100/274] Require -libs only when it is build --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 6d75300..ffc1b0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -289,7 +289,7 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications Group: Applications/Databases -Requires: %{name}-libs%{?_isa} = %{sameevr} +%{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel%{?_isa} %{?with_conflicts:Conflicts: mariadb-devel} From 5bece5dbcdc8ed650892fbd9fc5d013a09780f94 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 9 Apr 2015 06:59:20 +0200 Subject: [PATCH 101/274] Update to 5.6.24 --- .gitignore | 1 + ...unity-mysql-5.6.19-gcc49-aarch64-opt.patch | 58 +++++++++---------- community-mysql.spec | 7 ++- sources | 2 +- 4 files changed, 33 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index d6dcc65..5bd14b2 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /mysql-5.6.21.tar.gz /mysql-5.6.22.tar.gz /mysql-5.6.23.tar.gz +/mysql-5.6.24.tar.gz diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch index ed3e295..de94a31 100644 --- a/community-mysql-5.6.19-gcc49-aarch64-opt.patch +++ b/community-mysql-5.6.19-gcc49-aarch64-opt.patch @@ -1,8 +1,7 @@ -diff --git a/storage/perfschema/pfs_account.cc b/storage/perfschema/pfs_account.cc -index 405364a..ed3bef1 100644 ---- a/storage/perfschema/pfs_account.cc -+++ b/storage/perfschema/pfs_account.cc -@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_key *key, +diff -up mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 mysql-5.6.24/storage/perfschema/pfs_account.cc +--- mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_account.cc 2015-04-09 06:53:12.383168058 +0200 +@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_ key->m_key_length= ptr - &key->m_hash_key[0]; } @@ -16,30 +15,28 @@ index 405364a..ed3bef1 100644 PFS_account * find_or_create_account(PFS_thread *thread, const char *username, uint username_length, -diff --git a/storage/perfschema/pfs_digest.cc b/storage/perfschema/pfs_digest.cc -index addfac1..68e76cd 100644 ---- a/storage/perfschema/pfs_digest.cc -+++ b/storage/perfschema/pfs_digest.cc -@@ -168,6 +168,14 @@ static LF_PINS* get_digest_hash_pins(PFS_thread *thread) +diff -up mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 mysql-5.6.24/storage/perfschema/pfs_digest.cc +--- mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 2015-04-09 06:53:12.386168058 +0200 ++++ mysql-5.6.24/storage/perfschema/pfs_digest.cc 2015-04-09 06:56:20.385213275 +0200 +@@ -170,6 +170,14 @@ static LF_PINS* get_digest_hash_pins(PFS return thread->m_digest_hash_pins; } +#if defined(__aarch64__) +PFS_statement_stat* +find_or_create_digest(PFS_thread *thread, -+ PSI_digest_storage *digest_storage, ++ const sql_digest_storage *digest_storage, + const char *schema_name, + uint schema_name_length) __attribute__((optimize (1))); +#endif + PFS_statement_stat* find_or_create_digest(PFS_thread *thread, - PSI_digest_storage *digest_storage, -diff --git a/storage/perfschema/pfs_host.cc b/storage/perfschema/pfs_host.cc -index 0c6f5cf..fc624d7 100644 ---- a/storage/perfschema/pfs_host.cc -+++ b/storage/perfschema/pfs_host.cc -@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *key, + const sql_digest_storage *digest_storage, +diff -up mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 mysql-5.6.24/storage/perfschema/pfs_host.cc +--- mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_host.cc 2015-04-09 06:53:12.386168058 +0200 +@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *k key->m_key_length= ptr - &key->m_hash_key[0]; } @@ -51,11 +48,10 @@ index 0c6f5cf..fc624d7 100644 PFS_host *find_or_create_host(PFS_thread *thread, const char *hostname, uint hostname_length) { -diff --git a/storage/perfschema/pfs_instr.cc b/storage/perfschema/pfs_instr.cc -index cf0e6fd..8682e04 100644 ---- a/storage/perfschema/pfs_instr.cc -+++ b/storage/perfschema/pfs_instr.cc -@@ -1149,6 +1149,11 @@ LF_PINS* get_filename_hash_pins(PFS_thread *thread) +diff -up mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr.cc +--- mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_instr.cc 2015-04-09 06:53:12.388168058 +0200 +@@ -1199,6 +1199,11 @@ LF_PINS* get_filename_hash_pins(PFS_thre @param create create a file instance if none found @return a file instance, or NULL */ @@ -67,11 +63,10 @@ index cf0e6fd..8682e04 100644 PFS_file* find_or_create_file(PFS_thread *thread, PFS_file_class *klass, const char *filename, uint len, bool create) -diff --git a/storage/perfschema/pfs_instr_class.cc b/storage/perfschema/pfs_instr_class.cc -index 4d73396..139a2db 100644 ---- a/storage/perfschema/pfs_instr_class.cc -+++ b/storage/perfschema/pfs_instr_class.cc -@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share *pfs, const TABLE_SHARE *share) +diff -up mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr_class.cc +--- mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_instr_class.cc 2015-04-09 06:53:12.389168058 +0200 +@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share @param share table share @return a table share, or NULL */ @@ -83,11 +78,10 @@ index 4d73396..139a2db 100644 PFS_table_share* find_or_create_table_share(PFS_thread *thread, bool temporary, const TABLE_SHARE *share) -diff --git a/storage/perfschema/pfs_user.cc b/storage/perfschema/pfs_user.cc -index 9f53702..2f418a7 100644 ---- a/storage/perfschema/pfs_user.cc -+++ b/storage/perfschema/pfs_user.cc -@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *key, +diff -up mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 mysql-5.6.24/storage/perfschema/pfs_user.cc +--- mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 2015-03-25 17:34:52.000000000 +0100 ++++ mysql-5.6.24/storage/perfschema/pfs_user.cc 2015-04-09 06:53:12.389168058 +0200 +@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *k key->m_key_length= ptr - &key->m_hash_key[0]; } diff --git a/community-mysql.spec b/community-mysql.spec index ffc1b0a..7d0f7f2 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,8 +77,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.23 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.6.24 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -949,6 +949,9 @@ fi %endif %changelog +* Thu Apr 09 2015 Honza Horak - 5.6.24-1 +- Update to 5.6.24 + * Tue Mar 03 2015 Honza Horak - 5.6.23-4 - Do not use scl prefix more than once in paths Based on https://www.redhat.com/archives/sclorg/2015-February/msg00038.html diff --git a/sources b/sources index 13cbdde..81ca628 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -60344f26eae136a267a0277407926e79 mysql-5.6.23.tar.gz +68e1911f70eb1b02170d4f96bf0f0f88 mysql-5.6.24.tar.gz From 51a58b521603381a2e945d9c84e931bdb97c17fb Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 10 Apr 2015 13:09:48 +0200 Subject: [PATCH 102/274] Fix for big integers on gcc5 --- community-mysql-gcc5.patch | 60 ++++++++++++++++++++++++++++++++++++++ community-mysql.spec | 7 ++++- 2 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 community-mysql-gcc5.patch diff --git a/community-mysql-gcc5.patch b/community-mysql-gcc5.patch new file mode 100644 index 0000000..679f6d8 --- /dev/null +++ b/community-mysql-gcc5.patch @@ -0,0 +1,60 @@ +commit b377595b246be1de01c37f1d0269b5821e19b3fb +Author: Tor Didriksen +Date: Wed Apr 8 16:53:55 2015 +0200 + + Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD + + Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow. + Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's + (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7) + +diff --git a/strings/decimal.c b/strings/decimal.c +index 0d47241..ccb4a6b 100644 +--- a/strings/decimal.c ++++ b/strings/decimal.c +@@ -1064,26 +1064,34 @@ int double2decimal(double from, decimal_t *to) + + static int ull2dec(ulonglong from, decimal_t *to) + { +- int intg1, error=E_DEC_OK; +- ulonglong x=from; ++ int intg1; ++ int error= E_DEC_OK; ++ ulonglong x= from; + dec1 *buf; + + sanity(to); + +- for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) ; ++ if (from == 0) ++ intg1= 1; ++ else ++ { ++ /* Count the number of decimal_digit_t's we need. */ ++ for (intg1= 0; from != 0; intg1++, from/= DIG_BASE) ++ ; ++ } + if (unlikely(intg1 > to->len)) + { +- intg1=to->len; +- error=E_DEC_OVERFLOW; ++ intg1= to->len; ++ error= E_DEC_OVERFLOW; + } +- to->frac=0; +- to->intg=intg1*DIG_PER_DEC1; ++ to->frac= 0; ++ to->intg= intg1 * DIG_PER_DEC1; + +- for (buf=to->buf+intg1; intg1; intg1--) ++ for (buf= to->buf + intg1; intg1; intg1--) + { +- ulonglong y=x/DIG_BASE; +- *--buf=(dec1)(x-y*DIG_BASE); +- x=y; ++ ulonglong y= x / DIG_BASE; ++ *--buf=(dec1)(x - y * DIG_BASE); ++ x= y; + } + return error; + } diff --git a/community-mysql.spec b/community-mysql.spec index 7d0f7f2..6712999 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 5.6.24 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -119,6 +119,7 @@ Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch +Patch11: %{pkgnamepatch}-gcc5.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -392,6 +393,7 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 +%patch11 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 @@ -949,6 +951,9 @@ fi %endif %changelog +* Fri Apr 10 2015 Honza Horak - 5.6.24-2 +- Fix for big integers on gcc5 + * Thu Apr 09 2015 Honza Horak - 5.6.24-1 - Update to 5.6.24 From 19dd4015cfd448151ef3cba512dfb1d349c5eea9 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Thu, 23 Apr 2015 19:17:35 +0200 Subject: [PATCH 103/274] gcc5 makes gcc49-aarch64 patch obsolete (and wrong) --- ...unity-mysql-5.6.19-gcc49-aarch64-opt.patch | 96 ------------------- community-mysql.spec | 7 +- 2 files changed, 4 insertions(+), 99 deletions(-) delete mode 100644 community-mysql-5.6.19-gcc49-aarch64-opt.patch diff --git a/community-mysql-5.6.19-gcc49-aarch64-opt.patch b/community-mysql-5.6.19-gcc49-aarch64-opt.patch deleted file mode 100644 index de94a31..0000000 --- a/community-mysql-5.6.19-gcc49-aarch64-opt.patch +++ /dev/null @@ -1,96 +0,0 @@ -diff -up mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 mysql-5.6.24/storage/perfschema/pfs_account.cc ---- mysql-5.6.24/storage/perfschema/pfs_account.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_account.cc 2015-04-09 06:53:12.383168058 +0200 -@@ -201,6 +201,13 @@ static void set_account_key(PFS_account_ - key->m_key_length= ptr - &key->m_hash_key[0]; - } - -+#if defined(__aarch64__) -+PFS_account * -+find_or_create_account(PFS_thread *thread, -+ const char *username, uint username_length, -+ const char *hostname, uint hostname_length) __attribute__((optimize (1))); -+#endif -+ - PFS_account * - find_or_create_account(PFS_thread *thread, - const char *username, uint username_length, -diff -up mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 mysql-5.6.24/storage/perfschema/pfs_digest.cc ---- mysql-5.6.24/storage/perfschema/pfs_digest.cc.p57 2015-04-09 06:53:12.386168058 +0200 -+++ mysql-5.6.24/storage/perfschema/pfs_digest.cc 2015-04-09 06:56:20.385213275 +0200 -@@ -170,6 +170,14 @@ static LF_PINS* get_digest_hash_pins(PFS - return thread->m_digest_hash_pins; - } - -+#if defined(__aarch64__) -+PFS_statement_stat* -+find_or_create_digest(PFS_thread *thread, -+ const sql_digest_storage *digest_storage, -+ const char *schema_name, -+ uint schema_name_length) __attribute__((optimize (1))); -+#endif -+ - PFS_statement_stat* - find_or_create_digest(PFS_thread *thread, - const sql_digest_storage *digest_storage, -diff -up mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 mysql-5.6.24/storage/perfschema/pfs_host.cc ---- mysql-5.6.24/storage/perfschema/pfs_host.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_host.cc 2015-04-09 06:53:12.386168058 +0200 -@@ -193,6 +193,11 @@ static void set_host_key(PFS_host_key *k - key->m_key_length= ptr - &key->m_hash_key[0]; - } - -+#if defined(__aarch64__) -+PFS_host *find_or_create_host(PFS_thread *thread, -+ const char *hostname, uint hostname_length) __attribute__((optimize (1))); -+#endif -+ - PFS_host *find_or_create_host(PFS_thread *thread, - const char *hostname, uint hostname_length) - { -diff -up mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr.cc ---- mysql-5.6.24/storage/perfschema/pfs_instr.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_instr.cc 2015-04-09 06:53:12.388168058 +0200 -@@ -1199,6 +1199,11 @@ LF_PINS* get_filename_hash_pins(PFS_thre - @param create create a file instance if none found - @return a file instance, or NULL - */ -+#if defined(__aarch64__) -+PFS_file* -+find_or_create_file(PFS_thread *thread, PFS_file_class *klass, -+ const char *filename, uint len, bool create) __attribute__((optimize (1))); -+#endif - PFS_file* - find_or_create_file(PFS_thread *thread, PFS_file_class *klass, - const char *filename, uint len, bool create) -diff -up mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 mysql-5.6.24/storage/perfschema/pfs_instr_class.cc ---- mysql-5.6.24/storage/perfschema/pfs_instr_class.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_instr_class.cc 2015-04-09 06:53:12.389168058 +0200 -@@ -1233,6 +1233,11 @@ static int compare_keys(PFS_table_share - @param share table share - @return a table share, or NULL - */ -+#if defined(__aarch64__) -+PFS_table_share* find_or_create_table_share(PFS_thread *thread, -+ bool temporary, -+ const TABLE_SHARE *share) __attribute__((optimize (1))); -+#endif - PFS_table_share* find_or_create_table_share(PFS_thread *thread, - bool temporary, - const TABLE_SHARE *share) -diff -up mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 mysql-5.6.24/storage/perfschema/pfs_user.cc ---- mysql-5.6.24/storage/perfschema/pfs_user.cc.p57 2015-03-25 17:34:52.000000000 +0100 -+++ mysql-5.6.24/storage/perfschema/pfs_user.cc 2015-04-09 06:53:12.389168058 +0200 -@@ -193,6 +193,12 @@ static void set_user_key(PFS_user_key *k - key->m_key_length= ptr - &key->m_hash_key[0]; - } - -+#if defined(__aarch64__) -+PFS_user * -+find_or_create_user(PFS_thread *thread, -+ const char *username, uint username_length) __attribute__((optimize (1))); -+#endif -+ - PFS_user * - find_or_create_user(PFS_thread *thread, - const char *username, uint username_length) diff --git a/community-mysql.spec b/community-mysql.spec index 6712999..790b286 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 5.6.24 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -127,7 +127,6 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch Patch56: %{pkgnamepatch}-pluginerrmsg.patch -Patch57: %{pkgnamepatch}-5.6.19-gcc49-aarch64-opt.patch Patch70: %{pkgnamepatch}-5.6.13-major.patch BuildRequires: cmake @@ -399,7 +398,6 @@ the MySQL sources. %patch53 -p1 %patch55 -p1 %patch56 -p1 -%patch57 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -951,6 +949,9 @@ fi %endif %changelog +* Thu Apr 23 2015 Bjorn Munch - 5.6.24-3 +- gcc5 makes gcc49-aarch64 patch obsolete (and wrong) + * Fri Apr 10 2015 Honza Horak - 5.6.24-2 - Fix for big integers on gcc5 From 149b312f063b3d1a2c3a2a543e9264cf2bbf38b9 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 17 Jun 2015 03:04:07 +0000 Subject: [PATCH 104/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 790b286..b358972 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -78,7 +78,7 @@ Name: community-mysql Version: 5.6.24 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -949,6 +949,9 @@ fi %endif %changelog +* Wed Jun 17 2015 Fedora Release Engineering - 5.6.24-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Thu Apr 23 2015 Bjorn Munch - 5.6.24-3 - gcc5 makes gcc49-aarch64 patch obsolete (and wrong) From fa509c7162a48cf5931dd89b8056b176a21ffe8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 21 Jul 2015 09:50:40 +0200 Subject: [PATCH 105/274] Update to 5.6.25 --- .gitignore | 1 + community-mysql-gcc5.patch | 60 -------------------------------------- community-mysql.spec | 9 +++--- sources | 2 +- 4 files changed, 7 insertions(+), 65 deletions(-) delete mode 100644 community-mysql-gcc5.patch diff --git a/.gitignore b/.gitignore index 5bd14b2..9c8c433 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /mysql-5.6.22.tar.gz /mysql-5.6.23.tar.gz /mysql-5.6.24.tar.gz +/mysql-5.6.25.tar.gz diff --git a/community-mysql-gcc5.patch b/community-mysql-gcc5.patch deleted file mode 100644 index 679f6d8..0000000 --- a/community-mysql-gcc5.patch +++ /dev/null @@ -1,60 +0,0 @@ -commit b377595b246be1de01c37f1d0269b5821e19b3fb -Author: Tor Didriksen -Date: Wed Apr 8 16:53:55 2015 +0200 - - Bug#20768820 MAIN.BIGINT TEST FAILS WHEN BUILT WITH GCC 5 IN RELEASE BUILD - - Problem: with gcc5 in optmized mode, (- LLONG_MIN ) yields integer overflow. - Fix: In ull2dec() change the loop which counts the number of decimal_digit_t's - (cherry picked from commit b37d8bcc24f82f8e15c5f6e2243c8937af74acb7) - -diff --git a/strings/decimal.c b/strings/decimal.c -index 0d47241..ccb4a6b 100644 ---- a/strings/decimal.c -+++ b/strings/decimal.c -@@ -1064,26 +1064,34 @@ int double2decimal(double from, decimal_t *to) - - static int ull2dec(ulonglong from, decimal_t *to) - { -- int intg1, error=E_DEC_OK; -- ulonglong x=from; -+ int intg1; -+ int error= E_DEC_OK; -+ ulonglong x= from; - dec1 *buf; - - sanity(to); - -- for (intg1=1; from >= DIG_BASE; intg1++, from/=DIG_BASE) ; -+ if (from == 0) -+ intg1= 1; -+ else -+ { -+ /* Count the number of decimal_digit_t's we need. */ -+ for (intg1= 0; from != 0; intg1++, from/= DIG_BASE) -+ ; -+ } - if (unlikely(intg1 > to->len)) - { -- intg1=to->len; -- error=E_DEC_OVERFLOW; -+ intg1= to->len; -+ error= E_DEC_OVERFLOW; - } -- to->frac=0; -- to->intg=intg1*DIG_PER_DEC1; -+ to->frac= 0; -+ to->intg= intg1 * DIG_PER_DEC1; - -- for (buf=to->buf+intg1; intg1; intg1--) -+ for (buf= to->buf + intg1; intg1; intg1--) - { -- ulonglong y=x/DIG_BASE; -- *--buf=(dec1)(x-y*DIG_BASE); -- x=y; -+ ulonglong y= x / DIG_BASE; -+ *--buf=(dec1)(x - y * DIG_BASE); -+ x= y; - } - return error; - } diff --git a/community-mysql.spec b/community-mysql.spec index b358972..41550ce 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,8 +77,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.24 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.6.25 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -119,7 +119,6 @@ Patch7: %{pkgnamepatch}-dh1024.patch Patch8: %{pkgnamepatch}-scripts.patch Patch9: %{pkgnamepatch}-install-db-sharedir.patch Patch10: %{pkgnamepatch}-paths.patch -Patch11: %{pkgnamepatch}-gcc5.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -392,7 +391,6 @@ the MySQL sources. %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 %patch51 -p1 %patch52 -p1 %patch53 -p1 @@ -949,6 +947,9 @@ fi %endif %changelog +* Tue Jul 21 2015 Jakub Dorňák - 5.6.25-1 +- Update to 5.6.25 + * Wed Jun 17 2015 Fedora Release Engineering - 5.6.24-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 81ca628..9161948 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -68e1911f70eb1b02170d4f96bf0f0f88 mysql-5.6.24.tar.gz +37664399c91021abe070faa700ecd0ed mysql-5.6.25.tar.gz From 39ca4537731bcc086fa341bb76de65db66f5eb09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 30 Jul 2015 13:20:21 +0200 Subject: [PATCH 106/274] Update to 5.6.26 --- .gitignore | 1 + community-mysql-dh1024.patch | 63 ------------------------------------ community-mysql.spec | 7 ++-- sources | 2 +- 4 files changed, 6 insertions(+), 67 deletions(-) delete mode 100644 community-mysql-dh1024.patch diff --git a/.gitignore b/.gitignore index 9c8c433..35f340c 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /mysql-5.6.23.tar.gz /mysql-5.6.24.tar.gz /mysql-5.6.25.tar.gz +/mysql-5.6.26.tar.gz diff --git a/community-mysql-dh1024.patch b/community-mysql-dh1024.patch deleted file mode 100644 index 620ee0b..0000000 --- a/community-mysql-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 -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/community-mysql.spec b/community-mysql.spec index 41550ce..d2b0591 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,7 +77,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.25 +Version: 5.6.26 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -115,7 +115,6 @@ 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 Patch10: %{pkgnamepatch}-paths.patch @@ -387,7 +386,6 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 @@ -947,6 +945,9 @@ fi %endif %changelog +* Thu Jul 30 2015 Jakub Dorňák - 5.6.26-1 +- Update to 5.6.26 + * Tue Jul 21 2015 Jakub Dorňák - 5.6.25-1 - Update to 5.6.25 diff --git a/sources b/sources index 9161948..0562d0f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -37664399c91021abe070faa700ecd0ed mysql-5.6.25.tar.gz +733e1817c88c16fb193176e76f5b818f mysql-5.6.26.tar.gz From 7e24f5ab25510ef45f03f72a03779a2882226f1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 30 Jul 2015 18:04:44 +0200 Subject: [PATCH 107/274] disable perfschema.global_read_lock on arm --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index d2b0591..5a20d13 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -415,6 +415,7 @@ rm -f t/ssl_8k_key-master.opt add_test 'perfschema.func_file_io : rh 741325' add_test 'perfschema.func_mutex : rh 741325' add_test 'perfschema.setup_objects : rh 741325' +add_test 'perfschema.global_read_lock : 77889' %endif # Archs with collation issues, bugs.mysql.com/46895 From e82d4dd5ca095fdd4c2a5b8afbbde08c6b5f85e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Thu, 1 Oct 2015 15:56:59 +0200 Subject: [PATCH 108/274] Update to 5.6.27 --- .gitignore | 1 + community-mysql.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 35f340c..83b41a1 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /mysql-5.6.24.tar.gz /mysql-5.6.25.tar.gz /mysql-5.6.26.tar.gz +/mysql-5.6.27.tar.gz diff --git a/community-mysql.spec b/community-mysql.spec index 5a20d13..c0903df 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -77,7 +77,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.26 +Version: 5.6.27 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -145,6 +145,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) @@ -946,6 +947,9 @@ fi %endif %changelog +* Thu Oct 1 2015 Jakub Dorňák - 5.6.27-1 +- Update to 5.6.27 + * Thu Jul 30 2015 Jakub Dorňák - 5.6.26-1 - Update to 5.6.26 diff --git a/sources b/sources index 0562d0f..16afe97 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -733e1817c88c16fb193176e76f5b818f mysql-5.6.26.tar.gz +7754df40bb5567b03b041ccb6b5ddffa mysql-5.6.27.tar.gz From bf0a83b8b2ed48a9a87c3af830476f9d83589f77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 23 Sep 2015 12:31:06 +0200 Subject: [PATCH 109/274] Update to 5.7.9 --- .gitignore | 1 + community-mysql-5.6.13-major.patch | 11 - community-mysql-5.6.16-libmysql-version.patch | 960 ------------------ community-mysql-5.7.9-major.patch | 11 + community-mysql-boost.patch | 160 +++ community-mysql-install-db-sharedir.patch | 38 - community-mysql-paths.patch | 83 +- community-mysql-pluginerrmsg.patch | 78 -- community-mysql-s390-tsc.patch | 30 +- community-mysql-scripts.patch | 14 +- community-mysql-sharedir.patch | 24 +- community-mysql-strmov.patch | 34 - community-mysql-test-openssl_1.patch | 23 + community-mysql.spec | 203 ++-- sources | 2 +- 15 files changed, 370 insertions(+), 1302 deletions(-) delete mode 100644 community-mysql-5.6.13-major.patch delete mode 100644 community-mysql-5.6.16-libmysql-version.patch create mode 100644 community-mysql-5.7.9-major.patch create mode 100644 community-mysql-boost.patch delete mode 100644 community-mysql-install-db-sharedir.patch delete mode 100644 community-mysql-pluginerrmsg.patch delete mode 100644 community-mysql-strmov.patch create mode 100644 community-mysql-test-openssl_1.patch diff --git a/.gitignore b/.gitignore index 83b41a1..fa5212b 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /mysql-5.6.25.tar.gz /mysql-5.6.26.tar.gz /mysql-5.6.27.tar.gz +/mysql-5.7.9.tar.gz diff --git a/community-mysql-5.6.13-major.patch b/community-mysql-5.6.13-major.patch deleted file mode 100644 index 8d65acf..0000000 --- a/community-mysql-5.6.13-major.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mysql-5.6.13/cmake/mysql_version.cmake.orig 2013-08-15 13:48:26.177017731 +0200 -+++ mysql-5.6.13/cmake/mysql_version.cmake 2013-08-15 13:49:35.478949928 +0200 -@@ -17,7 +17,7 @@ - # Global constants, only to be changed between major releases. - # - --SET(SHARED_LIB_MAJOR_VERSION "18") -+SET(SHARED_LIB_MAJOR_VERSION "1018") - SET(SHARED_LIB_MINOR_VERSION "1") - SET(PROTOCOL_VERSION "10") - SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-5.6.16-libmysql-version.patch b/community-mysql-5.6.16-libmysql-version.patch deleted file mode 100644 index e16e65a..0000000 --- a/community-mysql-5.6.16-libmysql-version.patch +++ /dev/null @@ -1,960 +0,0 @@ -diff -rup old/libmysql/libmysql.c new/libmysql/libmysql.c ---- old/libmysql/libmysql.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/libmysql/libmysql.c 2014-01-14 12:10:27.148374504 +0100 -@@ -4898,3 +4898,612 @@ my_bool STDCALL mysql_read_query_result( - return (*mysql->methods->read_query_result)(mysql); - } - -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void STDCALL symver16_myodbc_remove_escape(MYSQL *mysql,char *name) -+{ -+ return myodbc_remove_escape(mysql, name); -+} -+SYM_16(myodbc_remove_escape); -+ -+ -+my_ulonglong STDCALL symver16_mysql_affected_rows(MYSQL *mysql) -+{ -+ return mysql_affected_rows(mysql); -+} -+SYM_16(mysql_affected_rows); -+ -+ -+my_bool STDCALL symver16_mysql_autocommit(MYSQL * mysql, my_bool auto_mode) -+{ -+ return mysql_autocommit(mysql, auto_mode); -+} -+SYM_16(mysql_autocommit); -+ -+ -+my_bool STDCALL symver16_mysql_change_user(MYSQL *mysql, const char *user, const char *passwd, const char *db) -+{ -+ return mysql_change_user(mysql, user, passwd, db); -+} -+SYM_16(mysql_change_user); -+ -+ -+const char * STDCALL symver16_mysql_character_set_name(MYSQL *mysql) -+{ -+ return mysql_character_set_name(mysql); -+} -+SYM_16(mysql_character_set_name); -+ -+ -+my_bool STDCALL symver16_mysql_commit(MYSQL * mysql) -+{ -+ return mysql_commit(mysql); -+} -+SYM_16(mysql_commit); -+ -+ -+void STDCALL symver16_mysql_data_seek(MYSQL_RES *result, my_ulonglong row) -+{ -+ return mysql_data_seek(result, row); -+} -+SYM_16(mysql_data_seek); -+ -+ -+void STDCALL symver16_mysql_debug(const char *debug __attribute__((unused))) -+{ -+ return mysql_debug(debug); -+} -+SYM_16(mysql_debug); -+ -+ -+int STDCALL symver16_mysql_dump_debug_info(MYSQL *mysql) -+{ -+ return mysql_dump_debug_info(mysql); -+} -+SYM_16(mysql_dump_debug_info); -+ -+ -+my_bool STDCALL symver16_mysql_embedded(void) -+{ -+ return mysql_embedded(); -+} -+SYM_16(mysql_embedded); -+ -+ -+my_bool STDCALL symver16_mysql_eof(MYSQL_RES *res) -+{ -+ return mysql_eof(res); -+} -+SYM_16(mysql_eof); -+ -+ -+ulong STDCALL symver16_mysql_escape_string(char *to,const char *from,ulong length) -+{ -+ return mysql_escape_string(to, from, length); -+} -+SYM_16(mysql_escape_string); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field(MYSQL_RES *result) -+{ -+ return mysql_fetch_field(result); -+} -+SYM_16(mysql_fetch_field); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_field_direct(MYSQL_RES *res,uint fieldnr) -+{ -+ return mysql_fetch_field_direct(res, fieldnr); -+} -+SYM_16(mysql_fetch_field_direct); -+ -+ -+MYSQL_FIELD * STDCALL symver16_mysql_fetch_fields(MYSQL_RES *res) -+{ -+ return mysql_fetch_fields(res); -+} -+SYM_16(mysql_fetch_fields); -+ -+ -+unsigned int STDCALL symver16_mysql_field_count(MYSQL *mysql) -+{ -+ return mysql_field_count(mysql); -+} -+SYM_16(mysql_field_count); -+ -+ -+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_seek(MYSQL_RES *result, MYSQL_FIELD_OFFSET field_offset) -+{ -+ return mysql_field_seek(result, field_offset); -+} -+SYM_16(mysql_field_seek); -+ -+ -+MYSQL_FIELD_OFFSET STDCALL symver16_mysql_field_tell(MYSQL_RES *res) -+{ -+ return mysql_field_tell(res); -+} -+SYM_16(mysql_field_tell); -+ -+ -+void STDCALL symver16_mysql_get_character_set_info(MYSQL *mysql, MY_CHARSET_INFO *csinfo) -+{ -+ return mysql_get_character_set_info(mysql, csinfo); -+} -+SYM_16(mysql_get_character_set_info); -+ -+ -+const char * STDCALL symver16_mysql_get_client_info(void) -+{ -+ return mysql_get_client_info(); -+} -+SYM_16(mysql_get_client_info); -+ -+ulong STDCALL symver16_mysql_get_client_version(void) -+{ -+ return mysql_get_client_version(); -+} -+SYM_16(mysql_get_client_version); -+ -+ -+const char * STDCALL symver16_mysql_get_host_info(MYSQL *mysql) -+{ -+ return mysql_get_host_info(mysql); -+} -+SYM_16(mysql_get_host_info); -+ -+ -+MYSQL_PARAMETERS *STDCALL symver16_mysql_get_parameters(void) -+{ -+ return mysql_get_parameters(); -+} -+SYM_16(mysql_get_parameters); -+ -+ -+uint STDCALL symver16_mysql_get_proto_info(MYSQL *mysql) -+{ -+ return mysql_get_proto_info(mysql); -+} -+SYM_16(mysql_get_proto_info); -+ -+ -+const char * STDCALL symver16_mysql_get_server_info(MYSQL *mysql) -+{ -+ return mysql_get_server_info(mysql); -+} -+SYM_16(mysql_get_server_info); -+ -+ -+ulong STDCALL symver16_mysql_hex_string(char *to, const char *from, ulong length) -+{ -+ return mysql_hex_string(to, from, length); -+} -+SYM_16(mysql_hex_string); -+ -+ -+const char *STDCALL symver16_mysql_info(MYSQL *mysql) -+{ -+ return mysql_info(mysql); -+} -+SYM_16(mysql_info); -+ -+ -+my_ulonglong STDCALL symver16_mysql_insert_id(MYSQL *mysql) -+{ -+ return mysql_insert_id(mysql); -+} -+SYM_16(mysql_insert_id); -+ -+ -+int STDCALL symver16_mysql_kill(MYSQL *mysql,ulong pid) -+{ -+ return mysql_kill(mysql, pid); -+} -+SYM_16(mysql_kill); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_dbs(MYSQL *mysql, const char *wild) -+{ -+ return mysql_list_dbs(mysql, wild); -+} -+SYM_16(mysql_list_dbs); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_fields(MYSQL *mysql, const char *table, const char *wild) -+{ -+ return mysql_list_fields(mysql, table, wild); -+} -+SYM_16(mysql_list_fields); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_processes(MYSQL *mysql) -+{ -+ return mysql_list_processes(mysql); -+} -+SYM_16(mysql_list_processes); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_list_tables(MYSQL *mysql, const char *wild) -+{ -+ return mysql_list_tables(mysql, wild); -+} -+SYM_16(mysql_list_tables); -+ -+ -+my_bool STDCALL symver16_mysql_more_results(MYSQL *mysql) -+{ -+ return mysql_more_results(mysql); -+} -+SYM_16(mysql_more_results); -+ -+ -+int STDCALL symver16_mysql_next_result(MYSQL *mysql) -+{ -+ return mysql_next_result(mysql); -+} -+SYM_16(mysql_next_result); -+ -+ -+int STDCALL symver16_mysql_ping(MYSQL *mysql) -+{ -+ return mysql_ping(mysql); -+} -+SYM_16(mysql_ping); -+ -+ -+int STDCALL symver16_mysql_query(MYSQL *mysql, const char *query) -+{ -+ return mysql_query(mysql, query); -+} -+SYM_16(mysql_query); -+ -+ -+my_bool STDCALL symver16_mysql_read_query_result(MYSQL *mysql) -+{ -+ return mysql_read_query_result(mysql); -+} -+SYM_16(mysql_read_query_result); -+ -+ -+ulong STDCALL symver16_mysql_real_escape_string(MYSQL *mysql, char *to,const char *from, ulong length) -+{ -+ return mysql_real_escape_string(mysql, to, from, length); -+} -+SYM_16(mysql_real_escape_string); -+ -+ -+int STDCALL symver16_mysql_refresh(MYSQL *mysql,uint options) -+{ -+ return mysql_refresh(mysql, options); -+} -+SYM_16(mysql_refresh); -+ -+ -+my_bool STDCALL symver16_mysql_rollback(MYSQL * mysql) -+{ -+ return mysql_rollback(mysql); -+} -+SYM_16(mysql_rollback); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_seek(MYSQL_RES *result, MYSQL_ROW_OFFSET row) -+{ -+ return mysql_row_seek(result, row); -+} -+SYM_16(mysql_row_seek); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_row_tell(MYSQL_RES *res) -+{ -+ return mysql_row_tell(res); -+} -+SYM_16(mysql_row_tell); -+ -+ -+void STDCALL symver16_mysql_server_end() -+{ -+ return mysql_server_end(); -+} -+SYM_16(mysql_server_end); -+ -+ -+int STDCALL symver16_mysql_server_init(int argc __attribute__((unused)), char **argv __attribute__((unused)), char **groups __attribute__((unused))) -+{ -+ return mysql_server_init(argc, argv, groups); -+} -+SYM_16(mysql_server_init); -+ -+ -+void symver16_mysql_set_local_infile_default(MYSQL *mysql) -+{ -+ return mysql_set_local_infile_default(mysql); -+} -+SYM_16(mysql_set_local_infile_default); -+ -+ -+void symver16_mysql_set_local_infile_handler(MYSQL *mysql, int (*local_infile_init)(void **, const char *, void *), int (*local_infile_read)(void *, char *, uint), void (*local_infile_end)(void *), int (*local_infile_error)(void *, char *, uint), void *userdata) -+{ -+ return mysql_set_local_infile_handler(mysql, local_infile_init, local_infile_read, local_infile_end, local_infile_error, userdata); -+} -+SYM_16(mysql_set_local_infile_handler); -+ -+ -+int STDCALL symver16_mysql_set_server_option(MYSQL *mysql, enum enum_mysql_set_option option) -+{ -+ return mysql_set_server_option(mysql, option); -+} -+SYM_16(mysql_set_server_option); -+ -+ -+int STDCALL symver16_mysql_shutdown(MYSQL *mysql, enum mysql_enum_shutdown_level shutdown_level) -+{ -+ return mysql_shutdown(mysql, shutdown_level); -+} -+SYM_16(mysql_shutdown); -+ -+ -+const char *STDCALL symver16_mysql_sqlstate(MYSQL *mysql) -+{ -+ return mysql_sqlstate(mysql); -+} -+SYM_16(mysql_sqlstate); -+ -+ -+const char * STDCALL symver16_mysql_stat(MYSQL *mysql) -+{ -+ return mysql_stat(mysql); -+} -+SYM_16(mysql_stat); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_affected_rows(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_affected_rows(stmt); -+} -+SYM_16(mysql_stmt_affected_rows); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_attr_get(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, void *value) -+{ -+ return mysql_stmt_attr_get(stmt, attr_type, value); -+} -+SYM_16(mysql_stmt_attr_get); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_attr_set(MYSQL_STMT *stmt, enum enum_stmt_attr_type attr_type, const void *value) -+{ -+ return mysql_stmt_attr_set(stmt, attr_type, value); -+} -+SYM_16(mysql_stmt_attr_set); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_bind_param(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) -+{ -+ return mysql_stmt_bind_param(stmt, my_bind); -+} -+SYM_16(mysql_stmt_bind_param); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_bind_result(MYSQL_STMT *stmt, MYSQL_BIND *my_bind) -+{ -+ return mysql_stmt_bind_result(stmt, my_bind); -+} -+SYM_16(mysql_stmt_bind_result); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_close(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_close(stmt); -+} -+SYM_16(mysql_stmt_close); -+ -+ -+void STDCALL symver16_mysql_stmt_data_seek(MYSQL_STMT *stmt, my_ulonglong row) -+{ -+ return mysql_stmt_data_seek(stmt, row); -+} -+SYM_16(mysql_stmt_data_seek); -+ -+ -+uint STDCALL symver16_mysql_stmt_errno(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_errno(stmt); -+} -+SYM_16(mysql_stmt_errno); -+ -+ -+const char *STDCALL symver16_mysql_stmt_error(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_error(stmt); -+} -+SYM_16(mysql_stmt_error); -+ -+ -+int STDCALL symver16_mysql_stmt_execute(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_execute(stmt); -+} -+SYM_16(mysql_stmt_execute); -+ -+ -+int STDCALL symver16_mysql_stmt_fetch(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_fetch(stmt); -+} -+SYM_16(mysql_stmt_fetch); -+ -+ -+int STDCALL symver16_mysql_stmt_fetch_column(MYSQL_STMT *stmt, MYSQL_BIND *my_bind, uint column, ulong offset) -+{ -+ return mysql_stmt_fetch_column(stmt, my_bind, column, offset); -+} -+SYM_16(mysql_stmt_fetch_column); -+ -+ -+unsigned int STDCALL symver16_mysql_stmt_field_count(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_field_count(stmt); -+} -+SYM_16(mysql_stmt_field_count); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_free_result(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_free_result(stmt); -+} -+SYM_16(mysql_stmt_free_result); -+ -+ -+MYSQL_STMT * STDCALL symver16_mysql_stmt_init(MYSQL *mysql) -+{ -+ return mysql_stmt_init(mysql); -+} -+SYM_16(mysql_stmt_init); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_insert_id(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_insert_id(stmt); -+} -+SYM_16(mysql_stmt_insert_id); -+ -+ -+my_ulonglong STDCALL symver16_mysql_stmt_num_rows(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_num_rows(stmt); -+} -+SYM_16(mysql_stmt_num_rows); -+ -+ -+ulong STDCALL symver16_mysql_stmt_param_count(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_param_count(stmt); -+} -+SYM_16(mysql_stmt_param_count); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_stmt_param_metadata(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_param_metadata(stmt); -+} -+SYM_16(mysql_stmt_param_metadata); -+ -+ -+int STDCALL symver16_mysql_stmt_prepare(MYSQL_STMT *stmt, const char *query, ulong length) -+{ -+ return mysql_stmt_prepare(stmt, query, length); -+} -+SYM_16(mysql_stmt_prepare); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_reset(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_reset(stmt); -+} -+SYM_16(mysql_stmt_reset); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_stmt_result_metadata(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_result_metadata(stmt); -+} -+SYM_16(mysql_stmt_result_metadata); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_seek(MYSQL_STMT *stmt, MYSQL_ROW_OFFSET row) -+{ -+ return mysql_stmt_row_seek(stmt, row); -+} -+SYM_16(mysql_stmt_row_seek); -+ -+ -+MYSQL_ROW_OFFSET STDCALL symver16_mysql_stmt_row_tell(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_row_tell(stmt); -+} -+SYM_16(mysql_stmt_row_tell); -+ -+ -+my_bool STDCALL symver16_mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number, const char *data, ulong length) -+{ -+ return mysql_stmt_send_long_data(stmt, param_number, data, length); -+} -+SYM_16(mysql_stmt_send_long_data); -+ -+ -+const char *STDCALL symver16_mysql_stmt_sqlstate(MYSQL_STMT * stmt) -+{ -+ return mysql_stmt_sqlstate(stmt); -+} -+SYM_16(mysql_stmt_sqlstate); -+ -+ -+int STDCALL symver16_mysql_stmt_store_result(MYSQL_STMT *stmt) -+{ -+ return mysql_stmt_store_result(stmt); -+} -+SYM_16(mysql_stmt_store_result); -+ -+ -+void STDCALL symver16_mysql_thread_end() -+{ -+ return mysql_thread_end(); -+} -+SYM_16(mysql_thread_end); -+ -+ -+ulong STDCALL symver16_mysql_thread_id(MYSQL *mysql) -+{ -+ return mysql_thread_id(mysql); -+} -+SYM_16(mysql_thread_id); -+ -+ -+my_bool STDCALL symver16_mysql_thread_init() -+{ -+ return mysql_thread_init(); -+} -+SYM_16(mysql_thread_init); -+ -+ -+uint STDCALL symver16_mysql_thread_safe(void) -+{ -+ return mysql_thread_safe(); -+} -+SYM_16(mysql_thread_safe); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_use_result(MYSQL *mysql) -+{ -+ return mysql_use_result(mysql); -+} -+SYM_16(mysql_use_result); -+ -+ -+uint STDCALL symver16_mysql_warning_count(MYSQL *mysql) -+{ -+ return mysql_warning_count(mysql); -+} -+SYM_16(mysql_warning_count); -+ -+/*****/ -+ -+MYSQL * STDCALL symver16_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, const char *passwd, const char *db, uint port, const char *unix_socket,ulong client_flag) -+{ -+ return mysql_real_connect(mysql, host, user, passwd, db, port, unix_socket, client_flag); -+} -+SYM_16(mysql_real_connect); -+ -+/*****/ -+ -+my_bool symver16_my_init(void) -+{ -+ return my_init(); -+} -+SYM_16(my_init); -+ -+#endif -diff -rup old/libmysql/libmysql.ver.in new/libmysql/libmysql.ver.in ---- old/libmysql/libmysql.ver.in 2013-11-04 20:15:10.000000000 +0100 -+++ new/libmysql/libmysql.ver.in 2014-01-14 12:10:27.148374504 +0100 -@@ -1 +1,136 @@ --libmysqlclient_@SHARED_LIB_MAJOR_VERSION@ { global: *; }; -+libmysqlclient_16 -+{ -+ local: -+ symver16_*; -+}; -+ -+libmysqlclient_18 -+{ -+ global: -+ my_init; -+ myodbc_remove_escape; -+ mysql_affected_rows; -+ mysql_autocommit; -+ mysql_change_user; -+ mysql_character_set_name; -+ mysql_close; -+ mysql_commit; -+ mysql_data_seek; -+ mysql_debug; -+ mysql_dump_debug_info; -+ mysql_embedded; -+ mysql_eof; -+ mysql_errno; -+ mysql_error; -+ mysql_escape_string; -+ mysql_fetch_field; -+ mysql_fetch_field_direct; -+ mysql_fetch_fields; -+ mysql_fetch_lengths; -+ mysql_fetch_row; -+ mysql_field_count; -+ mysql_field_seek; -+ mysql_field_tell; -+ mysql_free_result; -+ mysql_get_character_set_info; -+ mysql_get_client_info; -+ mysql_get_client_version; -+ mysql_get_host_info; -+ mysql_get_parameters; -+ mysql_get_proto_info; -+ mysql_get_server_info; -+ mysql_get_server_version; -+ mysql_get_ssl_cipher; -+ mysql_hex_string; -+ mysql_info; -+ mysql_init; -+ mysql_insert_id; -+ mysql_kill; -+ mysql_list_dbs; -+ mysql_list_fields; -+ mysql_list_processes; -+ mysql_list_tables; -+ mysql_more_results; -+ mysql_next_result; -+ mysql_num_fields; -+ mysql_num_rows; -+ mysql_options; -+ mysql_ping; -+ mysql_query; -+ mysql_read_query_result; -+ mysql_real_connect; -+ mysql_real_escape_string; -+ mysql_real_query; -+ mysql_refresh; -+ mysql_rollback; -+ mysql_row_seek; -+ mysql_row_tell; -+ mysql_select_db; -+ mysql_send_query; -+ mysql_server_end; -+ mysql_server_init; -+ mysql_set_character_set; -+ mysql_set_local_infile_default; -+ mysql_set_local_infile_handler; -+ mysql_set_server_option; -+ mysql_shutdown; -+ mysql_sqlstate; -+ mysql_ssl_set; -+ mysql_stat; -+ mysql_stmt_affected_rows; -+ mysql_stmt_attr_get; -+ mysql_stmt_attr_set; -+ mysql_stmt_bind_param; -+ mysql_stmt_bind_result; -+ mysql_stmt_close; -+ mysql_stmt_data_seek; -+ mysql_stmt_errno; -+ mysql_stmt_error; -+ mysql_stmt_execute; -+ mysql_stmt_fetch; -+ mysql_stmt_fetch_column; -+ mysql_stmt_field_count; -+ mysql_stmt_free_result; -+ mysql_stmt_init; -+ mysql_stmt_insert_id; -+ mysql_stmt_num_rows; -+ mysql_stmt_param_count; -+ mysql_stmt_param_metadata; -+ mysql_stmt_prepare; -+ mysql_stmt_reset; -+ mysql_stmt_result_metadata; -+ mysql_stmt_row_seek; -+ mysql_stmt_row_tell; -+ mysql_stmt_send_long_data; -+ mysql_stmt_sqlstate; -+ mysql_stmt_store_result; -+ mysql_store_result; -+ mysql_thread_end; -+ mysql_thread_id; -+ mysql_thread_init; -+ mysql_thread_safe; -+ mysql_use_result; -+ mysql_warning_count; -+ -+ free_defaults; -+ handle_options; -+ load_defaults; -+ my_print_help; -+ -+ #my_make_scrambled_password; -+ THR_KEY_mysys; -+ -+ mysql_client_find_plugin; -+ mysql_client_register_plugin; -+ mysql_load_plugin; -+ mysql_load_plugin_v; -+ mysql_plugin_options; -+ mysql_stmt_next_result; -+ -+ #mysql_default_charset_info; -+ mysql_get_charset; -+ mysql_get_charset_by_csname; -+ mysql_net_realloc; -+ #mysql_client_errors; -+ *; -+} libmysqlclient_16; -diff -rup old/mysys/charset.c new/mysys/charset.c ---- old/mysys/charset.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/mysys/charset.c 2014-01-14 12:10:27.197377417 +0100 -@@ -1040,3 +1040,20 @@ size_t escape_quotes_for_mysql(CHARSET_I - *to= 0; - return overflow ? (ulong)~0 : (ulong) (to - to_start); - } -+ -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide Fedora symbols -+ -+CHARSET_INFO *mysql_get_charset(uint cs_number, myf flags) -+{ -+ return get_charset(cs_number, flags); -+} -+ -+ -+CHARSET_INFO * mysql_get_charset_by_csname(const char *cs_name, uint cs_flags, myf flags) -+{ -+ return get_charset_by_csname(cs_name, cs_flags, flags); -+} -+ -+#endif -diff -rup old/sql/net_serv.cc new/sql/net_serv.cc ---- old/sql/net_serv.cc 2013-11-04 20:15:10.000000000 +0100 -+++ new/sql/net_serv.cc 2014-01-14 12:10:27.252380688 +0100 -@@ -1047,3 +1047,15 @@ void my_net_set_write_timeout(NET *net, - DBUG_VOID_RETURN; - } - -+#ifndef EMBEDDED_LIBRARY -+C_MODE_START -+ -+// Hack to provide Fedora symbols -+ -+my_bool mysql_net_realloc(NET *net, size_t length) -+{ -+ return net_realloc(net, length); -+} -+ -+C_MODE_END -+#endif -diff -rup old/sql/password.c new/sql/password.c ---- old/sql/password.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/sql/password.c 2014-01-14 12:10:27.309384078 +0100 -@@ -584,3 +584,16 @@ void make_password_from_salt(char *to, c - octet2hex(to, (const char*) hash_stage2, SHA1_HASH_SIZE); - } - -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void symver16_my_make_scrambled_password(char *to, const char *password, size_t pass_len) -+{ -+ my_make_scrambled_password(to, password, pass_len); -+} -+SYM_16(my_make_scrambled_password); -+ -+#endif -diff -rup old/sql-common/client.c new/sql-common/client.c ---- old/sql-common/client.c 2013-11-04 20:15:10.000000000 +0100 -+++ new/sql-common/client.c 2014-01-14 12:10:27.199377537 +0100 -@@ -4847,3 +4847,136 @@ static int clear_password_auth_client(MY - - return res ? CR_ERROR : CR_OK; - } -+ -+#ifndef EMBEDDED_LIBRARY -+ -+// Hack to provide both libmysqlclient_16 and libmysqlclient_18 symbol versions -+ -+#define SYM_16(_exportedsym) __asm__(".symver symver16_" #_exportedsym "," #_exportedsym "@libmysqlclient_16") -+ -+void STDCALL symver16_mysql_close(MYSQL *mysql) -+{ -+ return mysql_close(mysql); -+} -+SYM_16(mysql_close); -+ -+ -+uint STDCALL symver16_mysql_errno(MYSQL *mysql) -+{ -+ return mysql_errno(mysql); -+} -+SYM_16(mysql_errno); -+ -+ -+const char * STDCALL symver16_mysql_error(MYSQL *mysql) -+{ -+ return mysql_error(mysql); -+} -+SYM_16(mysql_error); -+ -+ -+ulong * STDCALL symver16_mysql_fetch_lengths(MYSQL_RES *res) -+{ -+ return mysql_fetch_lengths(res); -+} -+SYM_16(mysql_fetch_lengths); -+ -+ -+MYSQL_ROW STDCALL symver16_mysql_fetch_row(MYSQL_RES *res) -+{ -+ return mysql_fetch_row(res); -+} -+SYM_16(mysql_fetch_row); -+ -+ -+void STDCALL symver16_mysql_free_result(MYSQL_RES *result) -+{ -+ return mysql_free_result(result); -+} -+SYM_16(mysql_free_result); -+ -+ -+ulong STDCALL symver16_mysql_get_server_version(MYSQL *mysql) -+{ -+ return mysql_get_server_version(mysql); -+} -+SYM_16(mysql_get_server_version); -+ -+ -+const char * STDCALL symver16_mysql_get_ssl_cipher(MYSQL *mysql __attribute__((unused))) -+{ -+ return mysql_get_ssl_cipher(mysql); -+} -+SYM_16(mysql_get_ssl_cipher); -+ -+ -+MYSQL * STDCALL symver16_mysql_init(MYSQL *mysql) -+{ -+ return mysql_init(mysql); -+} -+SYM_16(mysql_init); -+ -+ -+unsigned int STDCALL symver16_mysql_num_fields(MYSQL_RES *res) -+{ -+ return mysql_num_fields(res); -+} -+SYM_16(mysql_num_fields); -+ -+ -+my_ulonglong STDCALL symver16_mysql_num_rows(MYSQL_RES *res) -+{ -+ return mysql_num_rows(res); -+} -+SYM_16(mysql_num_rows); -+ -+ -+int STDCALL symver16_mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg) -+{ -+ return mysql_options(mysql, option, arg); -+} -+SYM_16(mysql_options); -+ -+ -+int STDCALL symver16_mysql_real_query(MYSQL *mysql, const char *query, ulong length) -+{ -+ return mysql_real_query(mysql, query, length); -+} -+SYM_16(mysql_real_query); -+ -+ -+int STDCALL symver16_mysql_select_db(MYSQL *mysql, const char *db) -+{ -+ return mysql_select_db(mysql, db); -+} -+SYM_16(mysql_select_db); -+ -+ -+int STDCALL symver16_mysql_send_query(MYSQL* mysql, const char* query, ulong length) -+{ -+ return mysql_send_query(mysql, query, length); -+} -+SYM_16(mysql_send_query); -+ -+ -+int STDCALL symver16_mysql_set_character_set(MYSQL *mysql, const char *cs_name) -+{ -+ return mysql_set_character_set(mysql, cs_name); -+} -+SYM_16(mysql_set_character_set); -+ -+ -+my_bool STDCALL symver16_mysql_ssl_set(MYSQL *mysql __attribute__((unused)), const char *key __attribute__((unused)), const char *cert __attribute__((unused)), const char *ca __attribute__((unused)), const char *capath __attribute__((unused)), const char *cipher __attribute__((unused))) -+{ -+ return mysql_ssl_set(mysql, key, cert, ca, capath, cipher); -+} -+SYM_16(mysql_ssl_set); -+ -+ -+MYSQL_RES * STDCALL symver16_mysql_store_result(MYSQL *mysql) -+{ -+ return mysql_store_result(mysql); -+} -+SYM_16(mysql_store_result); -+ -+#endif diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch new file mode 100644 index 0000000..b822aed --- /dev/null +++ b/community-mysql-5.7.9-major.patch @@ -0,0 +1,11 @@ +--- mysql-5.7.8/cmake/mysql_version.cmake.orig 2015-09-23 15:43:23.252558904 +0200 ++++ mysql-5.7.8/cmake/mysql_version.cmake 2015-09-23 15:42:58.187604141 +0200 +@@ -17,7 +17,7 @@ + # Global constants, only to be changed between major releases. + # + +-SET(SHARED_LIB_MAJOR_VERSION "20") ++SET(SHARED_LIB_MAJOR_VERSION "1020") + SET(SHARED_LIB_MINOR_VERSION "0") + SET(PROTOCOL_VERSION "10") + SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-boost.patch b/community-mysql-boost.patch new file mode 100644 index 0000000..03e2aa3 --- /dev/null +++ b/community-mysql-boost.patch @@ -0,0 +1,160 @@ +--- mysql-5.7.9/client/CMakeLists.txt.orig 2015-10-12 08:21:35.000000000 +0200 ++++ mysql-5.7.9/client/CMakeLists.txt 2015-11-10 21:16:37.264522003 +0100 +@@ -30,12 +30,6 @@ INCLUDE_DIRECTORIES( + + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + +-# Prevent Boost from including external precompiled Boost libraries, use +-# threading (not implemented for Solaris) and turn off unused functionality. +-ADD_DEFINITIONS( +- -DBOOST_ALL_NO_LIB +- -DBOOST_SYSTEM_NO_DEPRECATED) +- + ## Subdirectory with common client code. + ADD_SUBDIRECTORY(base) + ## Subdirectory for mysqlpump code. +@@ -46,74 +40,6 @@ COPY_OPENSSL_DLLS(copy_openssl_client) + + INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) + +-SET(BOOST_SOURCES_DIR ${BOOST_PATCHES_DIR}) +- +-IF(WIN32) +- LIST(APPEND BOOST_THREAD_SOURCES +- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp +- ) +-ELSE() +- LIST(APPEND BOOST_THREAD_SOURCES +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp +- ) +-ENDIF() +- +-SET(BOOST_LIB_SOURCES +- ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp +- ${BOOST_SOURCES_DIR}/libs/chrono/src/chrono.cpp +- ${BOOST_SOURCES_DIR}/libs/chrono/src/process_cpu_clocks.cpp +- ${BOOST_SOURCES_DIR}/libs/chrono/src/thread_clock.cpp +- ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/future.cpp +-) +- +-ADD_CONVENIENCE_LIBRARY(boost_lib +- ${BOOST_LIB_SOURCES} +- ${BOOST_THREAD_SOURCES} +-) +- +-SET_TARGET_PROPERTIES(boost_lib +- PROPERTIES COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB") +- +-IF(HAVE_clock_gettime_IN_rt) +- TARGET_LINK_LIBRARIES(boost_lib ${LIBRT}) +-ENDIF() +- +-# Do not build library unless it is needed by some other target. +-SET_PROPERTY(TARGET boost_lib PROPERTY EXCLUDE_FROM_ALL TRUE) +- +-MY_CHECK_CXX_COMPILER_FLAG("-Wno-logical-op" HAVE_NO_LOGICAL_OP) +-IF(HAVE_NO_LOGICAL_OP) +- ADD_COMPILE_FLAGS( +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp +- COMPILE_FLAGS "-Wno-logical-op" +- ) +-ENDIF() +- +-# Boost source has unused local typedefs. +-MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" HAVE_NO_UNUSED_TYPEDEFS) +-IF(HAVE_NO_UNUSED_TYPEDEFS) +- ADD_COMPILE_FLAGS( +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp +- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp +- COMPILE_FLAGS "-Wno-unused-local-typedefs" +- ) +-ENDIF() +- +-ADD_COMPILE_FLAGS( +- ${BOOST_LIB_SOURCES} +- ${BOOST_THREAD_SOURCES} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +-) +- +-# Need explicit pthread for gcc -fsanitize=address +-IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") +- TARGET_LINK_LIBRARIES(boost_lib pthread) +-ENDIF() +- + ADD_DEFINITIONS(${SSL_DEFINES}) + MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc) + TARGET_LINK_LIBRARIES(mysql mysqlclient) +@@ -125,9 +51,6 @@ IF(NOT WITHOUT_SERVER) + MYSQL_ADD_EXECUTABLE(mysql_upgrade + upgrade/program.cc + ) +-ADD_COMPILE_FLAGS( +- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +-) + TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core) + ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema) + ENDIF() +--- mysql-5.7.9/client/base/CMakeLists.txt.orig 2015-11-10 21:38:13.968255057 +0100 ++++ mysql-5.7.9/client/base/CMakeLists.txt 2015-11-10 21:41:47.685928592 +0100 +@@ -45,14 +45,7 @@ ADD_CONVENIENCE_LIBRARY(client_base + ../../sql-common/sql_string.cc + ) + +-ADD_COMPILE_FLAGS( +- mutex.cc +- mysql_query_runner.cc +- show_variable_query_extractor.cc +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +-) +- +-TARGET_LINK_LIBRARIES(client_base mysqlclient boost_lib) ++TARGET_LINK_LIBRARIES(client_base mysqlclient boost_chrono boost_system) + + # Do not build library unless it is needed by some other target. + SET_PROPERTY(TARGET client_base PROPERTY EXCLUDE_FROM_ALL TRUE) +--- mysql-5.7.9/client/dump/CMakeLists.txt.orig 2015-11-10 21:37:51.399289532 +0100 ++++ mysql-5.7.9/client/dump/CMakeLists.txt 2015-11-10 21:40:32.536043387 +0100 +@@ -101,7 +101,7 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL + ../../sql-common/my_user.c) + ADD_CONVENIENCE_LIBRARY(mysqlpump_lib ${MYSQLPUMP_LIB_SOURCES}) + TARGET_LINK_LIBRARIES(mysqlpump_lib +- client_base ${LZ4_LIBRARY} boost_lib) ++ client_base ${LZ4_LIBRARY} boost_chrono boost_system) + + # Boost source has unused local typedefs. + MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" +@@ -125,19 +125,11 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL + ENDIF() + + ADD_COMPILE_FLAGS( +- ${MYSQLPUMP_LIB_SOURCES} +- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +- ) +- +- ADD_COMPILE_FLAGS( + compression_writer.cc + mysqldump_tool_chain_maker.cc + COMPILE_FLAGS -I${LZ4_INCLUDE_DIR} + ) + MYSQL_ADD_EXECUTABLE(mysqlpump program.cc) +- ADD_COMPILE_FLAGS( +- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} +- ) + + TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib) + +--- mysql-5.7.9/CMakeLists.txt.orig 2015-10-12 08:21:33.000000000 +0200 ++++ mysql-5.7.9/CMakeLists.txt 2015-11-11 12:19:26.313509287 +0100 +@@ -432,8 +432,6 @@ ELSE() + SET(DEFAULT_TMPDIR "\"${TMPDIR}\"") + ENDIF() + +-INCLUDE(cmake/boost.cmake) +- + IF (CMAKE_SYSTEM_NAME MATCHES "Linux") + OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF) + IF (WITH_SYSTEMD) diff --git a/community-mysql-install-db-sharedir.patch b/community-mysql-install-db-sharedir.patch deleted file mode 100644 index 4949b6d..0000000 --- a/community-mysql-install-db-sharedir.patch +++ /dev/null @@ -1,38 +0,0 @@ -Use configured value instead of hardcoded path - -diff -up mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir mariadb-10.0.13/scripts/mysql_install_db.pl.in ---- mariadb-10.0.13/scripts/mysql_install_db.pl.in.pbasedir 2014-09-04 12:50:24.061979080 +0200 -+++ mariadb-10.0.13/scripts/mysql_install_db.pl.in 2014-09-04 12:51:22.929045559 +0200 -@@ -318,7 +318,7 @@ elsif ( $opt->{basedir} ) - find_in_basedir($opt,"file","mysqld-nt", - "bin"); # ,"sql" - $pkgdatadir = find_in_basedir($opt,"dir","fill_help_tables.sql", -- "share","share/mysql"); # ,"scripts" -+ "share","@INSTALL_MYSQLSHAREDIR@"); # ,"scripts" - $scriptdir = "$opt->{basedir}/scripts"; - } - else -diff -up mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir mariadb-10.0.13/scripts/mysql_install_db.sh ---- mariadb-10.0.13/scripts/mysql_install_db.sh.pbasedir 2014-09-04 12:51:59.005086301 +0200 -+++ mariadb-10.0.13/scripts/mysql_install_db.sh 2014-09-04 12:54:02.794222597 +0200 -@@ -280,16 +280,16 @@ then - cannot_find_file mysqld $basedir/libexec $basedir/sbin $basedir/bin - exit 1 - fi -- langdir=`find_in_basedir --dir errmsg.sys share/english share/mysql/english` -+ langdir=`find_in_basedir --dir errmsg.sys share/english @INSTALL_MYSQLSHAREDIR@/english` - if test -z "$langdir" - then -- cannot_find_file errmsg.sys $basedir/share/english $basedir/share/mysql/english -+ cannot_find_file errmsg.sys $basedir/share/english $basedir/@INSTALL_MYSQLSHAREDIR@/english - exit 1 - fi -- pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share share/mysql` -+ pkgdatadir=`find_in_basedir --dir fill_help_tables.sql share @INSTALL_MYSQLSHAREDIR@` - if test -z "$pkgdatadir" - then -- cannot_find_file fill_help_tables.sql $basedir/share $basedir/share/mysql -+ cannot_find_file fill_help_tables.sql $basedir/share $basedir/@INSTALL_MYSQLSHAREDIR@ - exit 1 - fi - scriptdir="$basedir/scripts" diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index d406b96..7f9ed93 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 -diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_plugin.c ---- mysql-5.6.23/client/mysql_plugin.c.hardpaths 2015-01-19 14:48:30.000000000 +0100 -+++ mysql-5.6.23/client/mysql_plugin.c 2015-02-23 13:34:21.328484658 +0100 -@@ -90,6 +90,7 @@ static int find_plugin(char *tp_path); +diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c +--- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200 +@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path); static int build_bootstrap_file(char *operation, char *bootstrap); static int dump_bootstrap_file(char *bootstrap_file); static int bootstrap_server(char *server_path, char *bootstrap_file); @@ -15,7 +15,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ int main(int argc,char *argv[]) -@@ -121,7 +122,7 @@ int main(int argc,char *argv[]) +@@ -125,7 +126,7 @@ int main(int argc,char *argv[]) */ if ((error= process_options(argc, argv, operation)) || (error= check_access()) || @@ -24,7 +24,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ (error= find_plugin(tp_path)) || (error= build_bootstrap_file(operation, bootstrap))) goto exit; -@@ -324,7 +325,7 @@ static int get_default_values() +@@ -331,7 +332,7 @@ static int get_default_values() FILE *file= 0; memset(tool_path, 0, FN_REFLEN); @@ -33,7 +33,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ goto exit; else { -@@ -989,6 +990,55 @@ exit: +@@ -1014,6 +1015,55 @@ exit: } @@ -62,7 +62,7 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ + { + if (path != pos) + { -+ strxmov(strnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); ++ strxmov(my_stpnmov(to,path,(uint) (pos-path)),dir,name,ext,NullS); + if (!access(to,F_OK)) + { + if (opt_verbose) @@ -89,10 +89,10 @@ diff -up mysql-5.6.23/client/mysql_plugin.c.hardpaths mysql-5.6.23/client/mysql_ /** Locate the tool and form tool path. -diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/install_layout.cmake ---- mysql-5.6.23/cmake/install_layout.cmake.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/cmake/install_layout.cmake 2015-02-23 13:34:21.330484657 +0100 -@@ -94,7 +94,7 @@ IF(UNIX) +diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake +--- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200 ++++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200 +@@ -107,7 +107,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -101,7 +101,7 @@ diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/in CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -145,6 +145,7 @@ SET(INSTALL_PLUGINTESTDIR_STANDALONE +@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") SET(INSTALL_SCRIPTDIR_RPM "bin") @@ -109,10 +109,10 @@ diff -up mysql-5.6.23/cmake/install_layout.cmake.hardpaths mysql-5.6.23/cmake/in # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") -diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/my_default.cc ---- mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/mysys_ssl/my_default.cc 2015-02-23 13:34:21.329484658 +0100 -@@ -1389,12 +1389,12 @@ static const char **init_default_directo +diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc +--- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200 +@@ -1404,12 +1404,12 @@ static const char **init_default_directo #else @@ -128,11 +128,11 @@ diff -up mysql-5.6.23/mysys_ssl/my_default.cc.hardpaths mysql-5.6.23/mysys_ssl/m #endif /* DEFAULT_SYSCONFDIR */ #endif -diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMakeLists.txt ---- mysql-5.6.23/scripts/CMakeLists.txt.hardpaths 2015-02-23 13:34:21.325484657 +0100 -+++ mysql-5.6.23/scripts/CMakeLists.txt 2015-02-23 13:34:21.330484657 +0100 -@@ -219,7 +219,7 @@ INSTALL_SCRIPT( - ) +diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt +--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200 +@@ -295,7 +295,7 @@ ELSE() + ENDIF() SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) @@ -140,30 +140,9 @@ diff -up mysql-5.6.23/scripts/CMakeLists.txt.hardpaths mysql-5.6.23/scripts/CMak SET(bindir ${prefix}/${INSTALL_BINDIR}) SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) SET(scriptdir ${prefix}/${INSTALL_BINDIR}) -diff -up mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths mysql-5.6.23/scripts/mysqlaccess.sh ---- mysql-5.6.23/scripts/mysqlaccess.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/scripts/mysqlaccess.sh 2015-02-23 13:34:21.329484658 +0100 -@@ -483,9 +483,6 @@ MySQLaccess::Report::Print_Header(); - elsif (-f "@sysconfdir@/$script_conf") { - require "@sysconfdir@/$script_conf"; - } -- elsif (-f "/etc/$script_conf") { -- require "/etc/$script_conf"; -- } - - # **************************** - # Read in all parameters -@@ -951,7 +948,6 @@ sub MergeConfigFile { - sub MergeConfigFiles { - my ($name,$pass,$uid,$gid,$quota,$comment,$gcos,$dir,$shell) = getpwuid $<; - MergeConfigFile("@sysconfdir@/my.cnf"); -- MergeConfigFile("/etc/my.cnf"); - MergeConfigFile("$dir/.my.cnf"); - } - -diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mysqld_multi.sh ---- mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths 2015-01-19 14:48:32.000000000 +0100 -+++ mysql-5.6.23/scripts/mysqld_multi.sh 2015-02-23 13:34:21.329484658 +0100 +diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh +--- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200 @@ -573,9 +573,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once @@ -175,15 +154,3 @@ diff -up mysql-5.6.23/scripts/mysqld_multi.sh.hardpaths mysql-5.6.23/scripts/mys ($ENV{MYSQL_HOME} ? "$ENV{MYSQL_HOME}/my.cnf" : undef), $opt{'extra-file'}, ($ENV{HOME} ? "$ENV{HOME}/.my.cnf" : undef)); -diff -up mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths mysql-5.6.23/scripts/mysql_install_db.pl.in ---- mysql-5.6.23/scripts/mysql_install_db.pl.in.hardpaths 2015-02-23 13:34:37.995485386 +0100 -+++ mysql-5.6.23/scripts/mysql_install_db.pl.in 2015-02-23 13:35:15.505487028 +0100 -@@ -922,7 +922,7 @@ if ( open(PIPE, "| $mysqld_install_cmd_l - "The new default config file was created as $copy_cfg_file,", - "please compare it with your file and take the changes you need."); - } -- foreach my $cfg ( "/etc/my.$cnfext", "/etc/mysql/my.$cnfext" ) -+ foreach my $cfg ( "@SYSCONFDIR@/my.$cnfext", "@SYSCONFDIR@/mysql/my.$cnfext" ) - { - check_sys_cfg_file ($opt, $cfg); - } diff --git a/community-mysql-pluginerrmsg.patch b/community-mysql-pluginerrmsg.patch deleted file mode 100644 index a781172..0000000 --- a/community-mysql-pluginerrmsg.patch +++ /dev/null @@ -1,78 +0,0 @@ -In MySQL 5.5, the InnoDB Plugin is the default version and it's compiled in. -In this case, the plugin cannot be uninstalled and we get error when trying -to do so: - -mysql> uninstall plugin innodb; -ERROR 1305 (42000): PLUGIN innodb does not exist - -But the error message is misleading. The plugin does exist, it just cannot -be installed because it's not dynamically loaded. - -MySQL bug report: http://bugs.mysql.com/bug.php?id=51771 -MariaDB bug report: https://mariadb.atlassian.net/browse/MDEV-4573 -MariaDB fix: http://bazaar.launchpad.net/~maria-captains/maria/5.5/revision/3802 - -diff --git a/include/mysql.h b/include/mysql.h -index 38b54de..0b13e92 100644 ---- a/include/mysql.h -+++ b/include/mysql.h -@@ -134,6 +134,7 @@ typedef unsigned long long my_ulonglong; - - /* backward compatibility define - to be removed eventually */ - #define ER_WARN_DATA_TRUNCATED WARN_DATA_TRUNCATED -+#define WARN_PLUGIN_DELETE_BUILTIN ER_PLUGIN_DELETE_BUILTIN - - typedef struct st_mysql_rows { - struct st_mysql_rows *next; /* list of rows */ -diff --git a/mysql-test/r/plugin.result b/mysql-test/r/plugin.result -index a3d7437..8ea475d 100644 ---- a/mysql-test/r/plugin.result -+++ b/mysql-test/r/plugin.result -@@ -232,3 +232,5 @@ DROP PROCEDURE p_install; - SET DEBUG_SYNC='RESET'; - disconnect con1; - disconnect con2; -+UNINSTALL PLUGIN MyISAM; -+ERROR HY000: Built-in plugins cannot be deleted -diff --git a/mysql-test/t/plugin.test b/mysql-test/t/plugin.test -index de68d36..bf9fb7d 100644 ---- a/mysql-test/t/plugin.test -+++ b/mysql-test/t/plugin.test -@@ -277,3 +277,9 @@ disconnect con1; - disconnect con2; - - --disable_connect_log -+ -+# -+# MDEV-4573 UNINSTALL PLUGIN misleading error message for non-dynamic plugins -+# -+--error ER_PLUGIN_DELETE_BUILTIN -+UNINSTALL PLUGIN MyISAM; -diff --git a/sql/share/errmsg-utf8.txt b/sql/share/errmsg-utf8.txt -index 15acc66..35e2c3c 100644 ---- a/sql/share/errmsg-utf8.txt -+++ b/sql/share/errmsg-utf8.txt -@@ -6235,7 +6235,7 @@ WARN_NO_MASTER_INFO - WARN_OPTION_IGNORED - eng "<%-.64s> option ignored" - ger "Option <%-.64s> ignoriert" --WARN_PLUGIN_DELETE_BUILTIN -+ER_PLUGIN_DELETE_BUILTIN - eng "Built-in plugins cannot be deleted" - ger "Eingebaute Plugins können nicht gelöscht werden" - WARN_PLUGIN_BUSY -diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc -index f134e4f..7e34432 100644 ---- a/sql/sql_plugin.cc -+++ b/sql/sql_plugin.cc -@@ -2008,9 +2008,7 @@ bool mysql_uninstall_plugin(THD *thd, const LEX_STRING *name) - } - if (!plugin->plugin_dl) - { -- push_warning(thd, Sql_condition::WARN_LEVEL_WARN, -- WARN_PLUGIN_DELETE_BUILTIN, ER(WARN_PLUGIN_DELETE_BUILTIN)); -- my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "PLUGIN", name->str); -+ my_error(ER_PLUGIN_DELETE_BUILTIN, MYF(0)); - goto err; - } - if (plugin->load_option == PLUGIN_FORCE_PLUS_PERMANENT) diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index f995266..91bfc10 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -2,38 +2,38 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 -diff -up mysql-5.5.28/include/my_rdtsc.h.p11 mysql-5.5.28/include/my_rdtsc.h ---- mysql-5.5.28/include/my_rdtsc.h.p11 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/include/my_rdtsc.h 2012-12-06 14:22:13.651823354 +0100 +diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h +--- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200 ++++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100 @@ -125,6 +125,7 @@ C_MODE_END - #define MY_TIMER_ROUTINE_MACH_ABSOLUTE_TIME 25 #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 -+#define MY_TIMER_ROUTINE_ASM_S390 28 + #define MY_TIMER_ROUTINE_ASM_AARCH64 28 ++#define MY_TIMER_ROUTINE_ASM_S390 29 #endif -diff -up mysql-5.5.28/mysys/my_rdtsc.c.p11 mysql-5.5.28/mysys/my_rdtsc.c ---- mysql-5.5.28/mysys/my_rdtsc.c.p11 2012-08-29 10:50:46.000000000 +0200 -+++ mysql-5.5.28/mysys/my_rdtsc.c 2012-12-06 14:22:13.672823375 +0100 -@@ -224,6 +224,13 @@ ulonglong my_timer_cycles(void) - clock_gettime(CLOCK_SGI_CYCLE, &tp); - return (ulonglong) tp.tv_sec * 1000000000 + (ulonglong) tp.tv_nsec; +diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c +--- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200 ++++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100 +@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void) + __asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result)); + return result; } +#elif defined(__GNUC__) && defined(__s390__) + /* covers both s390 and s390x */ + { + ulonglong result; + __asm__ __volatile__ ("stck %0" : "=Q" (result) : : "cc"); -+ return result; ++ return result; + } #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ return (ulonglong) gethrtime(); -@@ -533,6 +540,8 @@ void my_timer_init(MY_TIMER_INFO *mti) +@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti) mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; - #elif defined(__sgi) && defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_SGI_CYCLE) - mti->cycles.routine= MY_TIMER_ROUTINE_SGI_CYCLE; + #elif defined(__GNUC__) && defined(__aarch64__) + mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64; +#elif defined(__GNUC__) && defined(__s390__) + mti->cycles.routine= MY_TIMER_ROUTINE_ASM_S390; #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index e7874ce..db6c70b 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,10 +1,10 @@ -diff -rup mysql-5.6.19-orig/scripts/CMakeLists.txt mysql-5.6.19/scripts/CMakeLists.txt ---- mysql-5.6.19-orig/scripts/CMakeLists.txt 2014-07-22 10:07:12.053410263 +0200 -+++ mysql-5.6.19/scripts/CMakeLists.txt 2014-07-22 10:10:44.102502369 +0200 -@@ -381,6 +381,34 @@ ELSE() - ENDIF() - INSTALL_SCRIPT(${CMAKE_CURRENT_BINARY_DIR}/${file} COMPONENT ${${file}_COMPONENT}) - ENDFOREACH() +diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt +--- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 +@@ -483,6 +483,34 @@ ELSE() + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ + ) + ENDIF() + + # files for systemd + SET(SYSTEMD_SCRIPTS diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 19f0b33..6ceaed2 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,6 +1,6 @@ -diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm ---- mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 2013-04-24 20:15:14.085623163 +0200 -+++ mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm 2013-04-24 20:15:37.456630939 +0200 +diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm +--- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200 ++++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200 @@ -36,7 +36,7 @@ my @pre_rules= ); @@ -10,10 +10,10 @@ diff -up mysql-5.5.31/mysql-test/lib/My/ConfigFactory.pm.p22 mysql-5.5.31/mysql- sub get_basedir { -diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/mysql-test-run.pl ---- mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 2013-03-25 14:14:58.000000000 +0100 -+++ mysql-5.5.31/mysql-test/mysql-test-run.pl 2013-04-24 20:18:28.538687866 +0200 -@@ -1238,11 +1238,11 @@ sub command_line_setup { +diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl +--- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200 +@@ -1282,11 +1282,11 @@ sub command_line_setup { } # Look for language files and charsetsdir, use same share @@ -27,18 +27,18 @@ diff -up mysql-5.5.31/mysql-test/mysql-test-run.pl.p22 mysql-5.5.31/mysql-test/m "$basedir/sql/share/charsets", "$basedir/share/charsets"); -@@ -3324,7 +3324,7 @@ sub mysql_install_db { +@@ -3729,7 +3729,7 @@ sub mysql_install_db { } my $path_sql= my_find_file($install_basedir, - ["mysql", "sql/share", "share/mysql", + ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@", "share", "scripts"], - "mysql_system_tables.sql", + "mysql_system_tables.sql", NOT_REQUIRED); -diff -up mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir mysql-5.6.23/mysql-test/CMakeLists.txt ---- mysql-5.6.23/mysql-test/CMakeLists.txt.sharedir 2015-01-19 14:48:31.000000000 +0100 -+++ mysql-5.6.23/mysql-test/CMakeLists.txt 2015-02-23 13:11:58.358488693 +0100 +diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt +--- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200 @@ -33,6 +33,10 @@ ENDIF() diff --git a/community-mysql-strmov.patch b/community-mysql-strmov.patch deleted file mode 100644 index 1c44f55..0000000 --- a/community-mysql-strmov.patch +++ /dev/null @@ -1,34 +0,0 @@ -Remove overly optimistic definition of strmov() as stpcpy(). - -mysql uses this macro with overlapping source and destination strings, -which is verboten per spec, and fails on some Red Hat platforms. -Deleting the definition is sufficient to make it fall back to a -byte-at-a-time copy loop, which should consistently give the -expected behavior. - -Note: the particular case that prompted this patch is reported and fixed -at http://bugs.mysql.com/bug.php?id=48864. However, my faith in upstream's -ability to detect this type of error is low, and I also see little evidence -of any real performance gain from optimizing these calls. So I'm keeping -this patch. - - -diff -up mysql-5.6.10/include/m_string.h.orig mysql-5.6.10/include/m_string.h ---- mysql-5.6.10/include/m_string.h.orig 2013-01-22 17:54:49.000000000 +0100 -+++ mysql-5.6.10/include/m_string.h 2013-02-19 14:12:58.866241727 +0100 -@@ -65,15 +65,6 @@ extern void *(*my_str_malloc)(size_t); - extern void *(*my_str_realloc)(void *, size_t); - extern void (*my_str_free)(void *); - --#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER) --#define strmov(A,B) __builtin_stpcpy((A),(B)) --#elif defined(HAVE_STPCPY) --#define strmov(A,B) stpcpy((A),(B)) --#ifndef stpcpy --extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */ --#endif --#endif -- - /* Declared in int2str() */ - extern char _dig_vec_upper[]; - extern char _dig_vec_lower[]; diff --git a/community-mysql-test-openssl_1.patch b/community-mysql-test-openssl_1.patch new file mode 100644 index 0000000..26f293c --- /dev/null +++ b/community-mysql-test-openssl_1.patch @@ -0,0 +1,23 @@ +diff -rup mysql-5.7.8.orig/mysql-test/r/openssl_1.result mysql-5.7.8/mysql-test/r/openssl_1.result +--- mysql-5.7.8.orig/mysql-test/r/openssl_1.result 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/r/openssl_1.result 2015-10-15 11:15:37.719376398 +0200 +@@ -211,8 +211,6 @@ Variable_name Value + Ssl_cipher EDH-RSA-DES-CBC3-SHA + Variable_name Value + Ssl_cipher AES256-SHA +-Variable_name Value +-Ssl_cipher RC4-SHA + select 'is still running; no cipher request crashed the server' as result from dual; + result + is still running; no cipher request crashed the server +diff -rup mysql-5.7.8.orig/mysql-test/t/openssl_1.test mysql-5.7.8/mysql-test/t/openssl_1.test +--- mysql-5.7.8.orig/mysql-test/t/openssl_1.test 2015-07-20 14:25:08.000000000 +0200 ++++ mysql-5.7.8/mysql-test/t/openssl_1.test 2015-10-15 11:15:07.648425927 +0200 +@@ -218,7 +218,6 @@ DROP TABLE t1; + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=DHE-RSA-AES256-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=EDH-RSA-DES-CBC3-SHA + --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=AES256-SHA +---exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=RC4-SHA + --disable_query_log + --disable_result_log + diff --git a/community-mysql.spec b/community-mysql.spec index c0903df..0e7cf75 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -7,6 +7,9 @@ # --nocheck is not possible (e.g. in koji build) %{!?runselftest:%global runselftest 1} +# Set this to 1 to see which tests fail +%global check_testsuite 0 + # set to 1 to enable %global with_shared_lib_major_hack 1 @@ -30,7 +33,6 @@ %bcond_without client %bcond_without common %bcond_without errmsg -%bcond_without bench %bcond_without test # When there is already another package that ships /etc/my.cnf, @@ -77,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.6.27 +Version: 5.7.9 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -87,7 +89,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-%{version}.tar.gz +Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source4: my_config.h @@ -109,28 +111,27 @@ Source31: server.cnf.in # Comments for these patches are in the patch files # Patches common for more mysql-like packages -Patch1: %{pkgnamepatch}-strmov.patch -Patch2: %{pkgnamepatch}-install-test.patch -Patch3: %{pkgnamepatch}-s390-tsc.patch -Patch4: %{pkgnamepatch}-logrotate.patch -Patch5: %{pkgnamepatch}-cipherspec.patch -Patch6: %{pkgnamepatch}-file-contents.patch -Patch8: %{pkgnamepatch}-scripts.patch -Patch9: %{pkgnamepatch}-install-db-sharedir.patch -Patch10: %{pkgnamepatch}-paths.patch +Patch1: %{pkgnamepatch}-install-test.patch +Patch2: %{pkgnamepatch}-s390-tsc.patch +Patch3: %{pkgnamepatch}-logrotate.patch +Patch4: %{pkgnamepatch}-file-contents.patch +Patch5: %{pkgnamepatch}-scripts.patch +Patch6: %{pkgnamepatch}-paths.patch +Patch7: %{pkgnamepatch}-boost.patch +Patch8: %{pkgnamepatch}-test-openssl_1.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.6.16-libmysql-version.patch -Patch55: %{pkgnamepatch}-5.6.16-mysql-install.patch -Patch56: %{pkgnamepatch}-pluginerrmsg.patch -Patch70: %{pkgnamepatch}-5.6.13-major.patch +Patch70: %{pkgnamepatch}-5.7.9-major.patch +BuildRequires: boost-devel BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel +BuildRequires: lz4-devel +BuildRequires: mecab-devel BuildRequires: openssl-devel BuildRequires: perl BuildRequires: systemtap-sdt-devel @@ -138,6 +139,8 @@ BuildRequires: zlib-devel # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time +BuildRequires: perl(Digest::file) +BuildRequires: perl(Digest::MD5) BuildRequires: perl(Env) BuildRequires: perl(Exporter) BuildRequires: perl(Fcntl) @@ -257,6 +260,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: %{name}-errmsg%{?_isa} = %{sameevr} +%{?mecab:Requires: mecab-ipadic} Requires: sh-utils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} @@ -273,7 +277,10 @@ Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} +Obsoletes: mysql-bench < 5.7.8 +Obsoletes: mysql-bench%{?_isa} %endif +Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} @@ -329,25 +336,6 @@ package contains files needed for developing and testing with the embedded version of the MySQL server. %endif - -%if %{with bench} -%package bench -Summary: MySQL benchmark scripts and data -Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevr} -%{?with_conflicts:Conflicts: mariadb-bench} -%if %{with mysql_names} -Provides: mysql-bench = %{sameevr} -Provides: mysql-bench%{?_isa} = %{sameevr} -%endif - -%description bench -MySQL is a multi-user, multi-threaded SQL database server. This -package contains benchmark scripts and data for use when benchmarking -MySQL. -%endif - - %if %{with test} %package test Summary: The test suite distributed with MySQL @@ -355,6 +343,8 @@ Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: perl(Digest::file) +Requires: perl(Digest::MD5) Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) @@ -387,18 +377,17 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %patch8 -p1 -%patch9 -p1 -%patch10 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch55 -p1 -%patch56 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +# Prevent using bundled boost +rm -r include/boost_1_59_0 + # Modify tests to pass on all archs pushd mysql-test @@ -408,11 +397,58 @@ add_test () { touch %{skiplist} +# these tests fail in 5.7.9 +add_test 'main.gis-precise : fails in 5.7.9' +add_test 'main.gis : fails in 5.7.9' +add_test 'gis.gis_bugs_crashes : fails in 5.7.9' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.9' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.9' +add_test 'gis.spatial_operators_difference : fails in 5.7.9' +add_test 'gis.spatial_operators_intersection : fails in 5.7.9' +add_test 'gis.spatial_operators_symdifference : fails in 5.7.9' +add_test 'main.datadir_permission : fails in 5.7.9' +add_test 'main.events_1 : fails in 5.7.9' + # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt +# these tests fail in 5.7.9 on arch +%ifarch %{arm} +add_test 'gis.spatial_operators_union : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_contains : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_disjoint : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_equals : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_intersects : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_overlaps : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_touches : fails in 5.7.9' +add_test 'gis.spatial_testing_functions_within : fails in 5.7.9' +add_test 'innodb_fts.opt : fails in 5.7.9' +add_test 'innodb_gis.gis : fails in 5.7.9' +add_test 'innodb_gis.precise : fails in 5.7.9' +add_test 'innodb_gis.1 : fails in 5.7.9' +add_test 'innodb.log_file : fails in 5.7.9' +add_test 'perfschema.dml_host_cache : fails in 5.7.9' +add_test 'perfschema.dml_hosts : fails in 5.7.9' +add_test 'perfschema.func_file_io : fails in 5.7.9' +add_test 'perfschema.setup_objects : fails in 5.7.9' +add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9' +add_test 'test_service_sql_api.test_session_info : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' +%endif + + # Archs without hw performance counter, rh 741325 -%ifarch %{arm} aarch64 sparc64 +%ifarch aarch64 sparc64 add_test 'perfschema.func_file_io : rh 741325' add_test 'perfschema.func_mutex : rh 741325' add_test 'perfschema.setup_objects : rh 741325' @@ -420,7 +456,7 @@ add_test 'perfschema.global_read_lock : 77889' %endif # Archs with collation issues, bugs.mysql.com/46895 -%ifarch %{arm} aarch64 ppc %{power64} s390 s390x +%ifarch aarch64 ppc %{power64} s390 s390x add_test 'innodb.innodb_ctype_ldml : 46895' add_test 'main.ctype_ldml : 46895' %endif @@ -480,17 +516,23 @@ cmake .. \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ -DINSTALL_SCRIPTDIR=bin \ - -DINSTALL_SQLBENCHDIR=share \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -DENABLE_DTRACE=ON \ +%if %{with init_systemd} + -DWITH_SYSTEMD=1 \ + -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ + -DSYSTEMD_PID_DIR="%{pidfiledir}" \ +%endif -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ + -DWITH_LZ4=system \ + -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -564,10 +606,8 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # not needed in rpm package -rm -f %{buildroot}%{_bindir}/mysqlaccess.conf rm -f %{buildroot}%{_bindir}/mysql_embedded rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/binary-configure rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -604,7 +644,6 @@ cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -unlink %{buildroot}%{_libdir}/mysql/libmysqlclient_r.so rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif @@ -619,17 +658,18 @@ rm -f %{buildroot}%{_mandir}/man1/{mysql_client_test_embedded,mysqltest_embedded rm -f %{buildroot}%{_bindir}/mysql_config* rm -rf %{buildroot}%{_includedir}/mysql rm -f %{buildroot}%{_datadir}/aclocal/mysql.m4 +rm -f %{buildroot}%{_libdir}/pkgconfig/mysqlclient.pc rm -f %{buildroot}%{_libdir}/mysql/libmysqlclient*.so rm -f %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{msql2mysql,mysql,mysql_config_editor,\ -mysql_find_rows,mysql_plugin,mysql_waitpid,mysqlaccess,mysqladmin,mysqlbinlog,\ -mysqlcheck,mysqldump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* +rm -f %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} +rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ +mysql_plugin,mysqladmin,mysqlbinlog,\ +mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif %if %{with config} @@ -649,10 +689,6 @@ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif -%if %{without bench} -rm -rf %{buildroot}%{_datadir}/sql-bench -%endif - %if %{without test} rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} rm -rf %{buildroot}%{_datadir}/mysql-test @@ -670,10 +706,14 @@ cp ../../mysql-test/%{skiplist} . export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ - --skip-test-list=%{skiplist} \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir + --clean-vardir \ +%if %{check_testsuite} + --max-test-fail=0 || : +%else + --skip-test-list=%{skiplist} +%endif rm -rf var/* $(readlink var) popd popd @@ -735,34 +775,28 @@ fi %if %{with client} %files -%{_bindir}/msql2mysql %{_bindir}/mysql %{_bindir}/mysql_config_editor -%{_bindir}/mysql_find_rows %{_bindir}/mysql_plugin -%{_bindir}/mysql_waitpid -%{_bindir}/mysqlaccess %{_bindir}/mysqladmin %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck %{_bindir}/mysqldump %{_bindir}/mysqlimport +%{_bindir}/mysqlpump %{_bindir}/mysqlshow %{_bindir}/mysqlslap %{_bindir}/my_print_defaults -%{_mandir}/man1/msql2mysql.1* %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* -%{_mandir}/man1/mysql_find_rows.1* %{_mandir}/man1/mysql_plugin.1* -%{_mandir}/man1/mysql_waitpid.1* -%{_mandir}/man1/mysqlaccess.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* %{_mandir}/man1/mysqldump.1* %{_mandir}/man1/mysqlimport.1* +%{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* %{_mandir}/man1/my_print_defaults.1* @@ -825,19 +859,16 @@ fi %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack -%{_bindir}/mysql_convert_table_format -%{_bindir}/mysql_fix_extensions %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation -%{_bindir}/mysql_setpermission +%{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%{_bindir}/mysql_zap -%{_bindir}/mysqlbug +%{_bindir}/mysqlbinlog +%if %{with init_systemd} +%{_bindir}/mysqld_pre_systemd +%endif %{_bindir}/mysqldumpslow -%{_bindir}/mysqld_multi -%{_bindir}/mysqld_safe -%{_bindir}/mysqlhotcopy %{_bindir}/mysqltest %{_bindir}/innochecksum %{_bindir}/perror @@ -860,38 +891,36 @@ fi %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* -%{_mandir}/man1/mysql_convert_table_format.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* -%{_mandir}/man1/mysql_fix_extensions.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* +%{_mandir}/man1/mysql_ssl_rsa_setup.1* +%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* -%{_mandir}/man1/mysql_zap.1* -%{_mandir}/man1/mysqlbug.1* %{_mandir}/man1/mysqldumpslow.1* %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* -%{_mandir}/man1/mysqlhotcopy.1* %{_mandir}/man1/mysqlman.1* -%{_mandir}/man1/mysql_setpermission.1* %{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* -%{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/innodb_memcached_config.sql +%{_datadir}/%{pkg_name}/install_rewriter.sql %{_datadir}/%{pkg_name}/mysql_security_commands.sql +%{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/my-*.cnf +%{_datadir}/%{pkg_name}/uninstall_rewriter.sql %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -901,10 +930,10 @@ fi %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common +%{_tmpfilesdir}/mysql.conf %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0755,mysql,mysql) %dir %{pidfiledir} -%attr(0755,mysql,mysql) %dir %{_localstatedir}/lib/mysql %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -916,8 +945,8 @@ fi %{_datadir}/aclocal/mysql.m4 %if %{with clibrary} %{_libdir}/mysql/libmysqlclient.so -%{_libdir}/mysql/libmysqlclient_r.so %endif +%{_libdir}/pkgconfig/mysqlclient.pc %{_mandir}/man1/mysql_config.1* %endif @@ -933,11 +962,6 @@ fi %{_mandir}/man1/mysqltest_embedded.1* %endif -%if %{with bench} -%files bench -%{_datadir}/sql-bench -%endif - %if %{with test} %files test %{_bindir}/mysql_client_test @@ -947,6 +971,9 @@ fi %endif %changelog +* Fri Oct 2 2015 Jakub Dorňák - 5.7.9-1 +- Update to 5.7.9 + * Thu Oct 1 2015 Jakub Dorňák - 5.6.27-1 - Update to 5.6.27 diff --git a/sources b/sources index 16afe97..35278c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7754df40bb5567b03b041ccb6b5ddffa mysql-5.6.27.tar.gz +6d782dda9046acb81e694934fd513993 mysql-5.7.9.tar.gz From b5803a0b97bc9e14b4c64d9b70ae8a17ac9745e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Sat, 14 Nov 2015 18:06:21 +0100 Subject: [PATCH 110/274] skip tests that randomly fail --- community-mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0e7cf75..9dad6d6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -408,6 +408,11 @@ add_test 'gis.spatial_operators_intersection : fails in 5.7.9' add_test 'gis.spatial_operators_symdifference : fails in 5.7.9' add_test 'main.datadir_permission : fails in 5.7.9' add_test 'main.events_1 : fails in 5.7.9' +# these tests fail in 5.7.9 randomly +add_test 'sysschema.fn_ps_thread_trx_info : randomly fails in 5.7.9' +add_test 'test_service_sql_api.test_sql_shutdown : randomly fails in 5.7.9' +add_test 'main.mysqldump : randomly fails in 5.7.9' +add_test 'perfschema.memory_aggregate_no_a_no_u : randomly fails in 5.7.9' # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt @@ -444,9 +449,11 @@ add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9' add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9' add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9' add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' +# fails sometimes +add_test 'perfschema.func_mutex : fails in 5.7.9' +add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' %endif - # Archs without hw performance counter, rh 741325 %ifarch aarch64 sparc64 add_test 'perfschema.func_file_io : rh 741325' From 43ecebe944c1fbdbb6b8408432bf7374ddcfc534 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Sun, 15 Nov 2015 10:59:31 +0100 Subject: [PATCH 111/274] skip tests that randomly fail --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index 9dad6d6..9f21708 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -452,6 +452,7 @@ add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' # fails sometimes add_test 'perfschema.func_mutex : fails in 5.7.9' add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' +add_test 'perfschema.global_read_lock : fails in 5.7.9' %endif # Archs without hw performance counter, rh 741325 From 75a8b6baeecf0bb9a90afb7272e518caf09ff495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 18 Nov 2015 09:36:22 +0100 Subject: [PATCH 112/274] skip tests that randomly fail --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 9f21708..e402580 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -435,6 +435,8 @@ add_test 'innodb_gis.1 : fails in 5.7.9' add_test 'innodb.log_file : fails in 5.7.9' add_test 'perfschema.dml_host_cache : fails in 5.7.9' add_test 'perfschema.dml_hosts : fails in 5.7.9' +add_test 'perfschema.dml_file_instances : fails in 5.7.9' +add_test 'perfschema.mdl_func : fails in 5.7.9' add_test 'perfschema.func_file_io : fails in 5.7.9' add_test 'perfschema.setup_objects : fails in 5.7.9' add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9' @@ -452,6 +454,7 @@ add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' # fails sometimes add_test 'perfschema.func_mutex : fails in 5.7.9' add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' +add_test 'main.innodb_icp_all : fails in 5.7.9' add_test 'perfschema.global_read_lock : fails in 5.7.9' %endif From 44a4c48b16548fb17653529a9a633f7e042c5cba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 16 Dec 2015 14:21:03 +0100 Subject: [PATCH 113/274] Update to 5.7.10 --- .gitignore | 2 + boost-1.48.0-add-bjam-man-page.patch | 150 ++++++++++ boost-1.50.0-fix-non-utf8-files.patch | 22 ++ boost-1.54.0-locale-unused_typedef.patch | 11 + ...0-python-test-PyImport_AppendInittab.patch | 98 +++++++ boost-1.57.0-build-optflags.patch | 48 ++++ boost-1.57.0-mpl-print.patch | 31 +++ boost-1.57.0-python-abi_letters.patch | 62 +++++ boost-1.57.0-python-libpython_dep.patch | 13 + boost-1.57.0-spirit-unused_typedef.patch | 19 ++ boost-1.58.0-address-model.patch | 13 + boost-1.58.0-pool-test_linking.patch | 31 +++ boost-1.58.0-pool.patch | 120 ++++++++ boost-1.59-python-make_setter.patch | 25 ++ boost-1.59-test-fenv.patch | 32 +++ boost-1.59.0-log.patch | 106 +++++++ community-mysql-5.6.16-mysql-install.patch | 46 --- community-mysql-5.7.9-major.patch | 6 +- community-mysql-boost.patch | 160 ----------- community-mysql-test-openssl_1.patch | 23 -- community-mysql.spec | 263 ++++++++++++------ sources | 3 +- 22 files changed, 972 insertions(+), 312 deletions(-) create mode 100644 boost-1.48.0-add-bjam-man-page.patch create mode 100644 boost-1.50.0-fix-non-utf8-files.patch create mode 100644 boost-1.54.0-locale-unused_typedef.patch create mode 100644 boost-1.55.0-python-test-PyImport_AppendInittab.patch create mode 100644 boost-1.57.0-build-optflags.patch create mode 100644 boost-1.57.0-mpl-print.patch create mode 100644 boost-1.57.0-python-abi_letters.patch create mode 100644 boost-1.57.0-python-libpython_dep.patch create mode 100644 boost-1.57.0-spirit-unused_typedef.patch create mode 100644 boost-1.58.0-address-model.patch create mode 100644 boost-1.58.0-pool-test_linking.patch create mode 100644 boost-1.58.0-pool.patch create mode 100644 boost-1.59-python-make_setter.patch create mode 100644 boost-1.59-test-fenv.patch create mode 100644 boost-1.59.0-log.patch delete mode 100644 community-mysql-5.6.16-mysql-install.patch delete mode 100644 community-mysql-boost.patch delete mode 100644 community-mysql-test-openssl_1.patch diff --git a/.gitignore b/.gitignore index fa5212b..5707045 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,5 @@ /mysql-5.6.26.tar.gz /mysql-5.6.27.tar.gz /mysql-5.7.9.tar.gz +/mysql-5.7.10.tar.gz +/boost_1_59_0.tar.bz2 diff --git a/boost-1.48.0-add-bjam-man-page.patch b/boost-1.48.0-add-bjam-man-page.patch new file mode 100644 index 0000000..ea3f19f --- /dev/null +++ b/boost-1.48.0-add-bjam-man-page.patch @@ -0,0 +1,150 @@ +diff --git a/tools/build/v2/doc/bjam.1 b/tools/build/v2/doc/bjam.1 +new file mode 100644 +index 0000000..8a44af6 +--- /dev/null ++++ b/tools/build/v2/doc/bjam.1 +@@ -0,0 +1,144 @@ ++.TH "bjam" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*- ++.ad l ++.nh ++.SH NAME ++bjam \- Command-line utility to build Boost-related C++ projects with Boost\&.Build ++.SH "SYNOPSIS" ++.PP ++\fBbjam\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP ++.PP ++\fIbjam\fP accepts the following options: ++.PP ++\fB-a\fP ++.br ++ Build all targets, even if they are current ++.PP ++\fB-dx\fP ++.br ++ Set the debug level to x (0-9) ++.PP ++\fB-fx\fP ++.br ++ Read x instead of Jambase ++.PP ++\fB-jx\fP ++.br ++ Run up to x shell commands concurrently ++.PP ++\fB-lx\fP ++.br ++ Limit actions to x number of seconds after which they are stopped ++.PP ++\fB-n\fP ++.br ++ Don't actually execute the updating actions ++.PP ++\fB-ox\fP ++.br ++ Write the updating actions to file x ++.PP ++\fB-px\fP ++.br ++ x=0, pipes action stdout and stderr merged into action output ++.PP ++\fB-q\fP ++.br ++ Quit quickly as soon as a target fails ++.PP ++\fB-sx=y\fP ++.br ++ Set variable x=y, overriding environment ++.PP ++\fB-tx\fP ++.br ++ Rebuild x, even if it is up-to-date ++.PP ++\fB-v\fP ++.br ++ Print the version of jam and exit ++.PP ++\fB--x\fP ++.br ++ Option is ignored ++.SH "DESCRIPTION" ++.PP ++This section provides the information necessary to create your own projects using \fIBoost\&.Build\fP The information provided here is relatively high-level, and Chapter 6, Reference as well as the on-line help system must be used to obtain low-level documentation (see --help) ++.PP ++\fIBoost\&.Build\fP actually consists of two parts - \fIBoost\&.Jam\fP, a build engine with its own interpreted language, and \fIBoost\&.Build\fP itself, implemented in \fIBoost\&.Jam's\fP language\&. The chain of events when you type bjam on the command line is as follows: ++.IP "\(bu" 2 ++\fIBoost\&.Jam\fP tries to find \fIBoost\&.Build\fP and loads the top-level module\&. The exact process is described in the section called “Initialization†++.PP ++.PP ++.IP "\(bu" 2 ++The top-level module loads user-defined configuration files, \fIuser-config\&.jam\fP and \fIsite-config\&.jam\fP, which define available toolsets ++.PP ++.PP ++.IP "\(bu" 2 ++The \fIJamfile\fP in the current directory is read That in turn might cause reading of further Jamfiles\&. As a result, a tree of projects is created, with targets inside projects ++.PP ++.PP ++.IP "\(bu" 2 ++Finally, using the build request specified on the command line, \fIBoost\&.Build\fP decides which targets should be built and how\&. That information is passed back to \fIBoost\&.Jam\fP, which takes care of actually running the scheduled build action commands ++.PP ++.PP ++So, to be able to successfully use \fIBoost\&.Build\fP, you need to know only four things: ++.IP "\(bu" 2 ++How to configure \fIBoost\&.Build\fP (http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html) ++.IP "\(bu" 2 ++How to declare targets in Jamfiles (http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html) ++.IP "\(bu" 2 ++How the build process works (http://www.boost.org/boost-build2/doc/html/bbv2/overview/build_process.html) ++.PP ++.PP ++Some Basics about the \fIBoost\&.Jam\fP language\&. See the section called “Boost\&.Jam Language†(http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html) ++.SH "CONCEPTS" ++.PP ++\fIBoost\&.Build\fP has a few unique concepts that are introduced in this section\&. The best way to explain the concepts is by comparison with more classical build tools ++.PP ++When using any flavour of make, you directly specify targets and commands that are used to create them from other target\&. The below example creates a\&.o from a\&.c using a hardcoded compiler invocation command ++.PP ++a\&.o: a\&.c ++.br ++ g++ -o a\&.o -g a\&.c ++.PP ++This is rather low-level description mechanism and it is hard to adjust commands, options, and sets of created targets depending on the used compiler and operating system\&. ++.PP ++To improve portability, most modern build system provide a set of higher-level functions that can be used in build description files\&. Consider this example: ++.PP ++add_program ('a', 'a\&.c') ++.br ++.PP ++This is a function call that creates targets necessary to create executable file from source file a\&.c\&. Depending on configured properties, different commands line may be used\&. However, \fIadd_program\fP is higher-level, but rather thin level All targets are created immediately when build description is parsed, which makes it impossible to perform multi-variant builds\&. Often, change in any build property requires complete reconfiguration of the build tree ++.PP ++In order to support true multivariant builds, Boost\&.Build introduces the concept of metatarget—object that is created when build description is parsed and can be later called with specific build properties to generate actual targets ++.PP ++Consider an example: ++.PP ++exe a : a\&.cpp ; ++.br ++.PP ++When this declaration is parsed, \fIBoost\&.Build\fP creates a metatarget, but does not yet decides what files must be created, or what commands must be used\&. After all build files are parsed, Boost\&.Build considers properties requested on the command line\&. Supposed you have invoked \fIBoost\&.Build\fP with: ++.PP ++\fIbjam\fP toolset=gcc toolset=msvc ++.br ++.PP ++In that case, the metatarget will be called twice, once with toolset=gcc and once with toolset=msvc\&. Both invocations will produce concrete targets, that will have different extensions and use different command lines\&. Another key concept is build property\&. Build property is a variable that affects the build process\&. It can be specified on the command line, and is passed when calling a metatarget ++.PP ++While all build tools have a similar mechanism, \fIBoost\&.Build\fP differs by requiring that all build properties are declared in advance, and providing a large set of properties with portable semantics ++.PP ++The final concept is property propagation\&. Boost\&.Build does not require that every metatarget is called with the same properties\&. Instead, the 'top-level' metatargets are called with the properties specified on the command line Each metatarget can elect to augment or override some properties (in particular, using the requirements mechanism, see the section called “Requirementsâ€: http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html#bbv2.overview.targets.requirements) Then, the dependency metatargets are called with modified properties and produce concrete targets that are then used in build process Of course, dependency metatargets maybe in turn modify build properties and have dependencies of their own\&. ++.PP ++For more in-depth treatment of the requirements and concepts, you may refer to SYRCoSE 2009 Boost\&.Build article (http://syrcose.ispras.ru/2009/files/04_paper.pdf)\&. ++.SH "SEE ALSO" ++.PP ++\fBboost-libraries\fP(3) ++.SH "SUPPORT" ++.PP ++Please report any bugs to https://svn.boost.org/trac/boost/ ++.SH "COPYRIGHT" ++.PP ++Boost Software License - Version 1\&.0 - August 17th, 2003 ++.PP ++See the LICENSE_1_0\&.txt file for more information on that license, or directly on Internet: ++.br ++ http://www.boost.org/LICENSE_1_0.txt diff --git a/boost-1.50.0-fix-non-utf8-files.patch b/boost-1.50.0-fix-non-utf8-files.patch new file mode 100644 index 0000000..b60a3ac --- /dev/null +++ b/boost-1.50.0-fix-non-utf8-files.patch @@ -0,0 +1,22 @@ +diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp +index 8b2bc43..d04f2fe 100644 +--- a/libs/units/example/autoprefixes.cpp ++++ b/libs/units/example/autoprefixes.cpp +@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit + { + static const char* name() { return("EUR"); } +- static const char* symbol() { return("€"); } ++ static const char* symbol() { return("€"); } + }; + + int main() +@@ -140,7 +140,7 @@ int main() + + quantity ce = 2048. * euro_base_unit::unit_type(); + cout << name_format << engineering_prefix << ce << endl; // 2.048 kiloEUR +- cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ ++ cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ + + + return 0; diff --git a/boost-1.54.0-locale-unused_typedef.patch b/boost-1.54.0-locale-unused_typedef.patch new file mode 100644 index 0000000..b7c9128 --- /dev/null +++ b/boost-1.54.0-locale-unused_typedef.patch @@ -0,0 +1,11 @@ +diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp +--- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200 ++++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200 +@@ -27,7 +27,6 @@ namespace boundary { + int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end) + { + typedef LeftIterator left_iterator; +- typedef RightIterator right_iterator; + typedef typename std::iterator_traits::value_type char_type; + typedef std::char_traits traits; + while(l_begin!=l_end && r_begin!=r_end) { diff --git a/boost-1.55.0-python-test-PyImport_AppendInittab.patch b/boost-1.55.0-python-test-PyImport_AppendInittab.patch new file mode 100644 index 0000000..1d2ee5c --- /dev/null +++ b/boost-1.55.0-python-test-PyImport_AppendInittab.patch @@ -0,0 +1,98 @@ +diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp +--- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200 ++++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100 +@@ -56,6 +56,20 @@ void eval_test() + BOOST_TEST(value == "ABCDEFG"); + } + ++struct PyCtx ++{ ++ PyCtx() { ++ Py_Initialize(); ++ } ++ ++ ~PyCtx() { ++ // N.B. certain problems may arise when Py_Finalize is called when ++ // using Boost.Python. However in this test suite it all seems to ++ // work fine. ++ Py_Finalize(); ++ } ++}; ++ + void exec_test() + { + // Register the module with the interpreter +@@ -68,6 +82,8 @@ void exec_test() + ) == -1) + throw std::runtime_error("Failed to add embedded_hello to the interpreter's " + "builtin modules"); ++ ++ PyCtx ctx; + // Retrieve the main module + python::object main = python::import("__main__"); + +@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal + } + } + ++template ++bool ++run_and_handle_exception(Cb cb, bool pyerr_expected = false) ++{ ++ PyCtx ctx; ++ if (python::handle_exception(cb)) { ++ check_pyerr(pyerr_expected); ++ return true; ++ } else { ++ return false; ++ } ++} ++ + int main(int argc, char **argv) + { + BOOST_TEST(argc == 2 || argc == 3); + std::string script = argv[1]; +- // Initialize the interpreter +- Py_Initialize(); + +- if (python::handle_exception(eval_test)) { +- check_pyerr(); +- } +- else if(python::handle_exception(exec_test)) { +- check_pyerr(); +- } +- else if (python::handle_exception(boost::bind(exec_file_test, script))) { ++ // N.B. exec_test mustn't be called through run_and_handle_exception ++ // as it needs to handles the python context by itself. ++ if (run_and_handle_exception(eval_test) ++ || python::handle_exception(exec_test)) + check_pyerr(); +- } +- +- if (python::handle_exception(exec_test_error)) +- { +- check_pyerr(/*pyerr_expected*/ true); +- } + else +- { ++ run_and_handle_exception(boost::bind(exec_file_test, script)); ++ ++ if (!run_and_handle_exception(exec_test_error, true)) + BOOST_ERROR("Python exception expected, but not seen."); +- } + + if (argc > 2) { ++ PyCtx ctx; + // The main purpose is to test compilation. Since this test generates + // a file and I (rwgk) am uncertain about the side-effects, run it only + // if explicitly requested. + exercise_embedding_html(); + } + +- // Boost.Python doesn't support Py_Finalize yet. +- // Py_Finalize(); + return boost::report_errors(); + } + + +Diff finished. Fri Jan 9 21:31:13 2015 diff --git a/boost-1.57.0-build-optflags.patch b/boost-1.57.0-build-optflags.patch new file mode 100644 index 0000000..d0b925f --- /dev/null +++ b/boost-1.57.0-build-optflags.patch @@ -0,0 +1,48 @@ +diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam +--- ./tools/build/src/tools/gcc.jam~ 2015-02-09 15:01:04.850331626 +0100 ++++ ./tools/build/src/tools/gcc.jam 2015-02-09 15:44:29.122307134 +0100 +@@ -366,17 +366,17 @@ generators.override gcc.compile.c++.pch + toolset.flags gcc.compile PCH_FILE on : ; + + # Declare flags and action for compilation. +-toolset.flags gcc.compile OPTIONS off : -O0 ; +-toolset.flags gcc.compile OPTIONS speed : -O3 ; +-toolset.flags gcc.compile OPTIONS space : -Os ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS speed : ; ++toolset.flags gcc.compile OPTIONS space : ; + +-toolset.flags gcc.compile OPTIONS off : -fno-inline ; +-toolset.flags gcc.compile OPTIONS on : -Wno-inline ; +-toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS full : ; + +-toolset.flags gcc.compile OPTIONS off : -w ; +-toolset.flags gcc.compile OPTIONS on : -Wall ; +-toolset.flags gcc.compile OPTIONS all : -Wall -pedantic ; ++toolset.flags gcc.compile OPTIONS off : ; ++toolset.flags gcc.compile OPTIONS on : ; ++toolset.flags gcc.compile OPTIONS all : ; + toolset.flags gcc.compile OPTIONS on : -Werror ; + + toolset.flags gcc.compile OPTIONS on : -g ; +@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc + + actions compile.c++ bind PCH_FILE + { +- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" + } + + actions compile.c bind PCH_FILE +@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE + + actions compile.c++.preprocess bind PCH_FILE + { +- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" ++ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" + } + + actions compile.c.preprocess bind PCH_FILE diff --git a/boost-1.57.0-mpl-print.patch b/boost-1.57.0-mpl-print.patch new file mode 100644 index 0000000..561cef1 --- /dev/null +++ b/boost-1.57.0-mpl-print.patch @@ -0,0 +1,31 @@ +diff -up boost_1_57_0/boost/mpl/print.hpp\~ boost_1_57_0/boost/mpl/print.hpp +--- boost_1_57_0/boost/mpl/print.hpp~ 2014-07-09 23:12:31.000000000 +0200 ++++ boost_1_57_0/boost/mpl/print.hpp 2015-01-20 12:44:59.621400948 +0100 +@@ -52,16 +52,15 @@ struct print + enum { n = sizeof(T) + -1 }; + #elif defined(__MWERKS__) + void f(int); +-#else +- enum { +- n = +-# if defined(__EDG_VERSION__) +- aux::dependent_unsigned::value > -1 +-# else +- sizeof(T) > -1 +-# endif +- }; +-#endif ++#elif defined(__EDG_VERSION__) ++ enum { n = aux::dependent_unsigned::value > -1 }; ++#elif defined(BOOST_GCC) ++ enum { n1 }; ++ enum { n2 }; ++ enum { n = n1 != n2 }; ++#else ++ enum { n = sizeof(T) > -1 }; ++#endif + }; + + #if defined(BOOST_MSVC) + +Diff finished. Tue Jan 20 12:45:03 2015 diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch new file mode 100644 index 0000000..7df3ee7 --- /dev/null +++ b/boost-1.57.0-python-abi_letters.patch @@ -0,0 +1,62 @@ +--- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 ++++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 +@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti + # using python : 2.3 : /usr/local/bin/python ; + # + rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? +- : condition * : extension-suffix ? ) ++ : condition * : extension-suffix ? : abi-letters ? ) + { + project.push-current $(.project) ; + +@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? + } + } + +- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ; ++ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ; + + project.pop-current ; + } +@@ -653,7 +653,7 @@ local rule system-library-dependencies ( + + # Declare a target to represent Python's library. + # +-local rule declare-libpython-target ( version ? : requirements * ) ++local rule declare-libpython-target ( version ? : requirements * : abi-letters ? ) + { + # Compute the representation of Python version in the name of Python's + # library file. +@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve + } + + # Declare it. +- lib python.lib : : python$(lib-version) $(requirements) ; ++ lib python.lib : : python$(lib-version)$(abi-letters) $(requirements) ; + } + + + # Implementation of init. + local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : +- condition * : extension-suffix ? ) ++ condition * : extension-suffix ? : abi-letters ? ) + { + local prefix ; + local exec-prefix ; +@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o + extension-suffix ?= _d ; + } + extension-suffix ?= "" ; ++ abi-letters ?= "" ; + + # Normalize and dissect any version number. + local major-minor ; +@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o + } + else + { +- declare-libpython-target $(version) : $(target-requirements) ; ++ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ; + + # This is an evil hack. On, Windows, when Python is embedded, nothing + # seems to set up sys.path to include Python's standard library diff --git a/boost-1.57.0-python-libpython_dep.patch b/boost-1.57.0-python-libpython_dep.patch new file mode 100644 index 0000000..57bfc26 --- /dev/null +++ b/boost-1.57.0-python-libpython_dep.patch @@ -0,0 +1,13 @@ +Index: boost_1_57_0/tools/build/src/tools/python.jam +=================================================================== +--- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) ++++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) +@@ -994,7 +994,7 @@ + else + { + alias python_for_extensions +- : ++ : python + : $(target-requirements) + : + : $(usage-requirements) diff --git a/boost-1.57.0-spirit-unused_typedef.patch b/boost-1.57.0-spirit-unused_typedef.patch new file mode 100644 index 0000000..2829629 --- /dev/null +++ b/boost-1.57.0-spirit-unused_typedef.patch @@ -0,0 +1,19 @@ +diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp +--- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200 ++++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100 +@@ -282,12 +282,12 @@ struct grammar_definition + #if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE) + typedef impl::grammar_helper_base helper_base_t; + typedef grammar_helper_list helper_list_t; +- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; + + helper_list_t& helpers = + grammartract_helper_list::do_(self); + + # if defined(BOOST_INTEL_CXX_VERSION) ++ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; + for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i) + (*i)->undefine(self); + # else + +Diff finished. Tue Jan 20 13:25:53 2015 diff --git a/boost-1.58.0-address-model.patch b/boost-1.58.0-address-model.patch new file mode 100644 index 0000000..3582737 --- /dev/null +++ b/boost-1.58.0-address-model.patch @@ -0,0 +1,13 @@ +--- boost_1_58_0/tools/build/src/tools/gcc.jam~ 2015-07-17 15:14:57.381636224 +0100 ++++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-27 17:35:29.122264048 +0100 +@@ -421,7 +421,9 @@ + + rule setup-address-model ( targets * : sources * : properties * ) + { +- local model = [ feature.get-values address-model : $(properties) ] ; ++ # For RPM builds the address model flag is passed in %{optflags}. ++ # local model = [ feature.get-values address-model : $(properties) ] ; ++ local model ; + if $(model) + { + local option ; diff --git a/boost-1.58.0-pool-test_linking.patch b/boost-1.58.0-pool-test_linking.patch new file mode 100644 index 0000000..a381370 --- /dev/null +++ b/boost-1.58.0-pool-test_linking.patch @@ -0,0 +1,31 @@ +diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2 +--- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100 ++++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100 +@@ -28,17 +28,17 @@ + local Werr = gcc:on msvc:on ; + + test-suite pool : +- [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 ] +- [ run test_pool_alloc.cpp : : : $(Werr) ] +- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 ] +- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ] +- [ run test_bug_3349.cpp : : : $(Werr) ] +- [ run test_bug_4960.cpp : : : $(Werr) ] +- [ run test_bug_1252.cpp : : : $(Werr) ] +- [ run test_bug_2696.cpp : : : $(Werr) ] +- [ run test_bug_5526.cpp : : : $(Werr) ] ++ [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 /boost/system//boost_system ] ++ [ run test_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 /boost/system//boost_system ] ++ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_3349.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_4960.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_1252.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_2696.cpp : : : $(Werr) /boost/system//boost_system ] ++ [ run test_bug_5526.cpp : : : $(Werr) /boost/system//boost_system ] + [ run test_threading.cpp : : : multi /boost/thread//boost_thread ] +- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ] ++ [ run ../example/time_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] + [ compile test_poisoned_macros.cpp : $(Werr) ] + + # diff --git a/boost-1.58.0-pool.patch b/boost-1.58.0-pool.patch new file mode 100644 index 0000000..ed8449e --- /dev/null +++ b/boost-1.58.0-pool.patch @@ -0,0 +1,120 @@ +Index: boost/pool/pool.hpp +=================================================================== +--- boost/pool/pool.hpp (revision 78317) ++++ boost/pool/pool.hpp (revision 78326) +@@ -27,4 +27,6 @@ + #include + ++// std::numeric_limits ++#include + // boost::integer::static_lcm + #include +@@ -358,4 +360,11 @@ + } + ++ size_type max_chunks() const ++ { //! Calculated maximum number of memory chunks that can be allocated in a single call by this Pool. ++ size_type partition_size = alloc_size(); ++ size_type POD_size = integer::static_lcm::value + sizeof(size_type); ++ return (std::numeric_limits::max() - POD_size) / alloc_size(); ++ } ++ + static void * & nextof(void * const ptr) + { //! \returns Pointer dereferenced. +@@ -377,5 +388,7 @@ + //! the first time that object needs to allocate system memory. + //! The default is 32. This parameter may not be 0. +- //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ //! \param nmax_size is the maximum number of chunks to allocate in one block. ++ set_next_size(nnext_size); ++ set_max_size(nmax_size); + } + +@@ -400,7 +413,7 @@ + } + void set_next_size(const size_type nnext_size) +- { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. +- //! \returns nnext_size. +- next_size = start_size = nnext_size; ++ { //! Set number of chunks to request from the system the next time that object needs to allocate system memory. This value should never be set to 0. ++ BOOST_USING_STD_MIN(); ++ next_size = start_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nnext_size, max_chunks()); + } + size_type get_max_size() const +@@ -410,5 +423,6 @@ + void set_max_size(const size_type nmax_size) + { //! Set max_size. +- max_size = nmax_size; ++ BOOST_USING_STD_MIN(); ++ max_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(nmax_size, max_chunks()); + } + size_type get_requested_size() const +@@ -713,7 +727,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -753,7 +767,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // initialize it, +@@ -797,4 +811,6 @@ + //! \returns Address of chunk n if allocated ok. + //! \returns 0 if not enough memory for n chunks. ++ if (n > max_chunks()) ++ return 0; + + const size_type partition_size = alloc_size(); +@@ -845,7 +861,7 @@ + BOOST_USING_STD_MIN(); + if(!max_size) +- next_size <<= 1; ++ set_next_size(next_size << 1); + else if( next_size*partition_size/requested_size < max_size) +- next_size = min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size*requested_size/ partition_size); ++ set_next_size(min BOOST_PREVENT_MACRO_SUBSTITUTION(next_size << 1, max_size * requested_size / partition_size)); + + // insert it into the list, +Index: libs/pool/test/test_bug_6701.cpp +=================================================================== +--- libs/pool/test/test_bug_6701.cpp (revision 78326) ++++ libs/pool/test/test_bug_6701.cpp (revision 78326) +@@ -0,0 +1,27 @@ ++/* Copyright (C) 2012 Étienne Dupuis ++* ++* Use, modification and distribution is subject to the ++* Boost Software License, Version 1.0. (See accompanying ++* file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) ++*/ ++ ++// Test of bug #6701 (https://svn.boost.org/trac/boost/ticket/6701) ++ ++#include ++#include ++ ++int main() ++{ ++ boost::pool<> p(1024, std::numeric_limits::max() / 768); ++ ++ void *x = p.malloc(); ++ BOOST_ASSERT(!x); ++ ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_next_size()); ++ BOOST_ASSERT(std::numeric_limits::max() / 1024 >= p.get_max_size()); ++ ++ void *y = p.ordered_malloc(std::numeric_limits::max() / 768); ++ BOOST_ASSERT(!y); ++ ++ return 0; ++} diff --git a/boost-1.59-python-make_setter.patch b/boost-1.59-python-make_setter.patch new file mode 100644 index 0000000..6c00658 --- /dev/null +++ b/boost-1.59-python-make_setter.patch @@ -0,0 +1,25 @@ +From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001 +From: Jonathan Wakely +Date: Wed, 2 Sep 2015 13:02:12 +0100 +Subject: [PATCH] Python: Fix condition for make_setter overload. + +This fixes the regression caused by 42e7d7b. + +Fixes #39 +--- + include/boost/python/data_members.hpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp +index 139bde3..5d3309c 100644 +--- a/include/boost/python/data_members.hpp ++++ b/include/boost/python/data_members.hpp +@@ -305,7 +305,7 @@ inline object make_setter(D& x) + return detail::make_setter(x, default_call_policies(), is_member_pointer(), 0); + } + +-# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) ++# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) + template + inline object make_setter(D const& x) + { diff --git a/boost-1.59-test-fenv.patch b/boost-1.59-test-fenv.patch new file mode 100644 index 0000000..df87f56 --- /dev/null +++ b/boost-1.59-test-fenv.patch @@ -0,0 +1,32 @@ +commit 2f3b98e640c25fe45ae691a5aa950745380b983e +Author: Jonathan Wakely +Date: Mon Sep 14 15:05:24 2015 +0100 + + Do not qualify names that might be macros. + +diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp +index 3a9e779..8b319df 100644 +--- a/include/boost/test/impl/execution_monitor.ipp ++++ b/include/boost/test/impl/execution_monitor.ipp +@@ -1380,8 +1380,8 @@ enable( unsigned mask ) + + return ~old_cw & BOOST_FPE_ALL; + #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) +- ::feclearexcept(BOOST_FPE_ALL); +- int res = ::feenableexcept( mask ); ++ feclearexcept(BOOST_FPE_ALL); ++ int res = feenableexcept( mask ); + return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; + #else + /* Not Implemented */ +@@ -1417,8 +1417,8 @@ disable( unsigned mask ) + + return ~old_cw & BOOST_FPE_ALL; + #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) +- ::feclearexcept(BOOST_FPE_ALL); +- int res = ::fedisableexcept( mask ); ++ feclearexcept(BOOST_FPE_ALL); ++ int res = fedisableexcept( mask ); + return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; + #else + /* Not Implemented */ diff --git a/boost-1.59.0-log.patch b/boost-1.59.0-log.patch new file mode 100644 index 0000000..844b3ff --- /dev/null +++ b/boost-1.59.0-log.patch @@ -0,0 +1,106 @@ +From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001 +From: Andrey Semashev +Date: Sun, 23 Aug 2015 17:27:20 +0300 +Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when + the operator right hand argument is not directly supported by + formatting_ostream. Fixed #11549. + +--- + +diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp +index b3c58e2..c1e8059 100644 +--- a/include/boost/log/sources/record_ostream.hpp ++++ b/include/boost/log/sources/record_ostream.hpp +@@ -39,6 +39,18 @@ namespace boost { + + BOOST_LOG_OPEN_NAMESPACE + ++template< typename CharT > ++class basic_record_ostream; ++ ++namespace aux { ++ ++template< typename StreamT, typename R > ++struct enable_if_record_ostream {}; ++template< typename CharT, typename R > ++struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; }; ++ ++} // namespace aux ++ + /*! + * \brief Logging record adapter with a streaming capability + * +@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ + typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging + #endif + ++// Implementation note: these operators below should be the least attractive for the compiler ++// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. ++// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload ++// would be more preferred than the typical one written by users: ++// ++// record_ostream& operator<< (record_ostream& strm, my_type const& arg); ++// ++// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required ++// if there is a perfect forwarding overload. ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT& strm, T const& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT& strm, T& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT&& strm, T const& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++template< typename StreamT, typename T > ++inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type ++operator<< (StreamT&& strm, T& value) ++{ ++ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; ++ static_cast< formatting_ostream_type& >(strm) << value; ++ return strm; ++} ++ ++#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) ++ + namespace aux { + + //! Internal class that provides formatting streams for record pumps +diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp +index 4345206..744acc0 100644 +--- a/include/boost/log/utility/formatting_ostream.hpp ++++ b/include/boost/log/utility/formatting_ostream.hpp +@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const + + // Implementation note: these operators below should be the least attractive for the compiler + // so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. ++// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload ++// would be more preferred than the typical one written by users: ++// ++// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg); ++// ++// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required ++// if there is a perfect forwarding overload. + template< typename StreamT, typename T > + inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type + operator<< (StreamT& strm, T const& value) diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch deleted file mode 100644 index 5efc4eb..0000000 --- a/community-mysql-5.6.16-mysql-install.patch +++ /dev/null @@ -1,46 +0,0 @@ -We have, for security hardening reasons, changed upstream sources to never -create the test database in 5.7. This patch is a backport from 5.7. - -The patch in Fedora is the same that we apply in our own repos. Debian and -Ubuntu are also skipping creation of the test database, so we're trying -to align across distros in this issue. - -diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in -index 1fa5164..4aa49ca 100644 ---- a/scripts/mysql_install_db.pl.in -+++ b/scripts/mysql_install_db.pl.in -@@ -113,6 +113,7 @@ EOF2 - print <{srcdir} and $opt->{basedir} ) - { - error($opt,"Specify either --basedir or --srcdir, not both"); - } --if ( $opt->{'keep-my-cnf'} ) -+if ( $opt->{rpm} || $opt->{'keep-my-cnf'} ) - { - $keep_my_cnf = 1; - } -@@ -664,7 +665,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) - } - - # ---------------------------------------------------------------------- --# Create database directories mysql & test -+# Create database directory mysql - # ---------------------------------------------------------------------- - - # FIXME The shell variant uses "mkdir -p": -@@ -697,7 +698,7 @@ if ($opt_user) - } - } - --foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql", "$opt->{ldata}/test" ) -+foreach my $dir ( $opt->{ldata}, "$opt->{ldata}/mysql") - { - mkdir($dir, 0700) unless -d $dir; - if ($opt_user and -w "/") diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch index b822aed..15b50b8 100644 --- a/community-mysql-5.7.9-major.patch +++ b/community-mysql-5.7.9-major.patch @@ -1,11 +1,11 @@ ---- mysql-5.7.8/cmake/mysql_version.cmake.orig 2015-09-23 15:43:23.252558904 +0200 -+++ mysql-5.7.8/cmake/mysql_version.cmake 2015-09-23 15:42:58.187604141 +0200 +--- mysql-5.7.10/cmake/mysql_version.cmake.orig 2015-11-29 20:16:24.000000000 +0100 ++++ mysql-5.7.10/cmake/mysql_version.cmake 2015-12-16 14:15:49.129269372 +0100 @@ -17,7 +17,7 @@ # Global constants, only to be changed between major releases. # -SET(SHARED_LIB_MAJOR_VERSION "20") +SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "0") + SET(SHARED_LIB_MINOR_VERSION "1") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-boost.patch b/community-mysql-boost.patch deleted file mode 100644 index 03e2aa3..0000000 --- a/community-mysql-boost.patch +++ /dev/null @@ -1,160 +0,0 @@ ---- mysql-5.7.9/client/CMakeLists.txt.orig 2015-10-12 08:21:35.000000000 +0200 -+++ mysql-5.7.9/client/CMakeLists.txt 2015-11-10 21:16:37.264522003 +0100 -@@ -30,12 +30,6 @@ INCLUDE_DIRECTORIES( - - INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) - --# Prevent Boost from including external precompiled Boost libraries, use --# threading (not implemented for Solaris) and turn off unused functionality. --ADD_DEFINITIONS( -- -DBOOST_ALL_NO_LIB -- -DBOOST_SYSTEM_NO_DEPRECATED) -- - ## Subdirectory with common client code. - ADD_SUBDIRECTORY(base) - ## Subdirectory for mysqlpump code. -@@ -46,74 +40,6 @@ COPY_OPENSSL_DLLS(copy_openssl_client) - - INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake) - --SET(BOOST_SOURCES_DIR ${BOOST_PATCHES_DIR}) -- --IF(WIN32) -- LIST(APPEND BOOST_THREAD_SOURCES -- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/thread.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_dll.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/win32/tss_pe.cpp -- ) --ELSE() -- LIST(APPEND BOOST_THREAD_SOURCES -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp -- ) --ENDIF() -- --SET(BOOST_LIB_SOURCES -- ${BOOST_SOURCES_DIR}/libs/atomic/src/lockpool.cpp -- ${BOOST_SOURCES_DIR}/libs/chrono/src/chrono.cpp -- ${BOOST_SOURCES_DIR}/libs/chrono/src/process_cpu_clocks.cpp -- ${BOOST_SOURCES_DIR}/libs/chrono/src/thread_clock.cpp -- ${BOOST_SOURCES_DIR}/libs/system/src/error_code.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/future.cpp --) -- --ADD_CONVENIENCE_LIBRARY(boost_lib -- ${BOOST_LIB_SOURCES} -- ${BOOST_THREAD_SOURCES} --) -- --SET_TARGET_PROPERTIES(boost_lib -- PROPERTIES COMPILE_FLAGS "-DBOOST_THREAD_BUILD_LIB") -- --IF(HAVE_clock_gettime_IN_rt) -- TARGET_LINK_LIBRARIES(boost_lib ${LIBRT}) --ENDIF() -- --# Do not build library unless it is needed by some other target. --SET_PROPERTY(TARGET boost_lib PROPERTY EXCLUDE_FROM_ALL TRUE) -- --MY_CHECK_CXX_COMPILER_FLAG("-Wno-logical-op" HAVE_NO_LOGICAL_OP) --IF(HAVE_NO_LOGICAL_OP) -- ADD_COMPILE_FLAGS( -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp -- COMPILE_FLAGS "-Wno-logical-op" -- ) --ENDIF() -- --# Boost source has unused local typedefs. --MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" HAVE_NO_UNUSED_TYPEDEFS) --IF(HAVE_NO_UNUSED_TYPEDEFS) -- ADD_COMPILE_FLAGS( -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/once.cpp -- ${BOOST_SOURCES_DIR}/libs/thread/src/pthread/thread.cpp -- COMPILE_FLAGS "-Wno-unused-local-typedefs" -- ) --ENDIF() -- --ADD_COMPILE_FLAGS( -- ${BOOST_LIB_SOURCES} -- ${BOOST_THREAD_SOURCES} -- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} --) -- --# Need explicit pthread for gcc -fsanitize=address --IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") -- TARGET_LINK_LIBRARIES(boost_lib pthread) --ENDIF() -- - ADD_DEFINITIONS(${SSL_DEFINES}) - MYSQL_ADD_EXECUTABLE(mysql completion_hash.cc mysql.cc readline.cc ../sql-common/sql_string.cc) - TARGET_LINK_LIBRARIES(mysql mysqlclient) -@@ -125,9 +51,6 @@ IF(NOT WITHOUT_SERVER) - MYSQL_ADD_EXECUTABLE(mysql_upgrade - upgrade/program.cc - ) --ADD_COMPILE_FLAGS( -- upgrade/program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} --) - TARGET_LINK_LIBRARIES(mysql_upgrade mysqlclient client_base mysqlcheck_core) - ADD_DEPENDENCIES(mysql_upgrade GenFixPrivs GenSysSchema) - ENDIF() ---- mysql-5.7.9/client/base/CMakeLists.txt.orig 2015-11-10 21:38:13.968255057 +0100 -+++ mysql-5.7.9/client/base/CMakeLists.txt 2015-11-10 21:41:47.685928592 +0100 -@@ -45,14 +45,7 @@ ADD_CONVENIENCE_LIBRARY(client_base - ../../sql-common/sql_string.cc - ) - --ADD_COMPILE_FLAGS( -- mutex.cc -- mysql_query_runner.cc -- show_variable_query_extractor.cc -- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} --) -- --TARGET_LINK_LIBRARIES(client_base mysqlclient boost_lib) -+TARGET_LINK_LIBRARIES(client_base mysqlclient boost_chrono boost_system) - - # Do not build library unless it is needed by some other target. - SET_PROPERTY(TARGET client_base PROPERTY EXCLUDE_FROM_ALL TRUE) ---- mysql-5.7.9/client/dump/CMakeLists.txt.orig 2015-11-10 21:37:51.399289532 +0100 -+++ mysql-5.7.9/client/dump/CMakeLists.txt 2015-11-10 21:40:32.536043387 +0100 -@@ -101,7 +101,7 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL - ../../sql-common/my_user.c) - ADD_CONVENIENCE_LIBRARY(mysqlpump_lib ${MYSQLPUMP_LIB_SOURCES}) - TARGET_LINK_LIBRARIES(mysqlpump_lib -- client_base ${LZ4_LIBRARY} boost_lib) -+ client_base ${LZ4_LIBRARY} boost_chrono boost_system) - - # Boost source has unused local typedefs. - MY_CHECK_CXX_COMPILER_FLAG("-Wno-unused-local-typedefs" -@@ -125,19 +125,11 @@ IF (NOT (CMAKE_CXX_COMPILER_ID STREQUAL - ENDIF() - - ADD_COMPILE_FLAGS( -- ${MYSQLPUMP_LIB_SOURCES} -- COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} -- ) -- -- ADD_COMPILE_FLAGS( - compression_writer.cc - mysqldump_tool_chain_maker.cc - COMPILE_FLAGS -I${LZ4_INCLUDE_DIR} - ) - MYSQL_ADD_EXECUTABLE(mysqlpump program.cc) -- ADD_COMPILE_FLAGS( -- program.cc COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} -- ) - - TARGET_LINK_LIBRARIES(mysqlpump mysqlpump_lib) - ---- mysql-5.7.9/CMakeLists.txt.orig 2015-10-12 08:21:33.000000000 +0200 -+++ mysql-5.7.9/CMakeLists.txt 2015-11-11 12:19:26.313509287 +0100 -@@ -432,8 +432,6 @@ ELSE() - SET(DEFAULT_TMPDIR "\"${TMPDIR}\"") - ENDIF() - --INCLUDE(cmake/boost.cmake) -- - IF (CMAKE_SYSTEM_NAME MATCHES "Linux") - OPTION(WITH_SYSTEMD "Enable installation of systemd support files" OFF) - IF (WITH_SYSTEMD) diff --git a/community-mysql-test-openssl_1.patch b/community-mysql-test-openssl_1.patch deleted file mode 100644 index 26f293c..0000000 --- a/community-mysql-test-openssl_1.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -rup mysql-5.7.8.orig/mysql-test/r/openssl_1.result mysql-5.7.8/mysql-test/r/openssl_1.result ---- mysql-5.7.8.orig/mysql-test/r/openssl_1.result 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/r/openssl_1.result 2015-10-15 11:15:37.719376398 +0200 -@@ -211,8 +211,6 @@ Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value - Ssl_cipher AES256-SHA --Variable_name Value --Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result - is still running; no cipher request crashed the server -diff -rup mysql-5.7.8.orig/mysql-test/t/openssl_1.test mysql-5.7.8/mysql-test/t/openssl_1.test ---- mysql-5.7.8.orig/mysql-test/t/openssl_1.test 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/t/openssl_1.test 2015-10-15 11:15:07.648425927 +0200 -@@ -218,7 +218,6 @@ DROP TABLE t1; - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=DHE-RSA-AES256-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=EDH-RSA-DES-CBC3-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=AES256-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log - diff --git a/community-mysql.spec b/community-mysql.spec index e402580..7863c44 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.9 +Version: 5.7.10 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -90,6 +90,7 @@ URL: http://www.mysql.com License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz +Source1: http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2 Source2: mysql_config_multilib.sh Source3: my.cnf.in Source4: my_config.h @@ -117,15 +118,29 @@ Patch3: %{pkgnamepatch}-logrotate.patch Patch4: %{pkgnamepatch}-file-contents.patch Patch5: %{pkgnamepatch}-scripts.patch Patch6: %{pkgnamepatch}-paths.patch -Patch7: %{pkgnamepatch}-boost.patch -Patch8: %{pkgnamepatch}-test-openssl_1.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch -BuildRequires: boost-devel +# Patches taken from boost 1.59 +Patch104: boost-1.50.0-fix-non-utf8-files.patch +Patch105: boost-1.48.0-add-bjam-man-page.patch +Patch115: boost-1.58.0-pool.patch +Patch125: boost-1.57.0-mpl-print.patch +Patch136: boost-1.57.0-spirit-unused_typedef.patch +Patch145: boost-1.54.0-locale-unused_typedef.patch +Patch151: boost-1.58.0-pool-test_linking.patch +Patch161: boost-1.57.0-python-libpython_dep.patch +Patch162: boost-1.57.0-python-abi_letters.patch +Patch163: boost-1.55.0-python-test-PyImport_AppendInittab.patch +Patch165: boost-1.57.0-build-optflags.patch +Patch168: boost-1.58.0-address-model.patch +Patch170: boost-1.59.0-log.patch +Patch180: boost-1.59-python-make_setter.patch +Patch181: boost-1.59-test-fenv.patch + BuildRequires: cmake BuildRequires: libaio-devel BuildRequires: libedit-devel @@ -377,16 +392,33 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 -%patch8 -p1 %patch51 -p1 %patch52 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif -# Prevent using bundled boost -rm -r include/boost_1_59_0 +# Unpack Boost +%setup -q -n mysql-%{version} -D -T -a 1 + +# Patch Boost +pushd boost_1_59_0 +%patch104 -p1 +%patch105 -p1 +%patch115 -p0 +%patch125 -p1 +%patch136 -p1 +%patch145 -p1 +%patch151 -p1 +%patch161 -p1 +%patch162 -p1 +%patch163 -p1 +%patch165 -p1 +%patch168 -p1 +%patch170 -p2 +%patch180 -p2 +%patch181 -p2 +popd # Modify tests to pass on all archs pushd mysql-test @@ -397,92 +429,157 @@ add_test () { touch %{skiplist} -# these tests fail in 5.7.9 -add_test 'main.gis-precise : fails in 5.7.9' -add_test 'main.gis : fails in 5.7.9' -add_test 'gis.gis_bugs_crashes : fails in 5.7.9' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.9' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.9' -add_test 'gis.spatial_operators_difference : fails in 5.7.9' -add_test 'gis.spatial_operators_intersection : fails in 5.7.9' -add_test 'gis.spatial_operators_symdifference : fails in 5.7.9' -add_test 'main.datadir_permission : fails in 5.7.9' -add_test 'main.events_1 : fails in 5.7.9' -# these tests fail in 5.7.9 randomly -add_test 'sysschema.fn_ps_thread_trx_info : randomly fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_shutdown : randomly fails in 5.7.9' -add_test 'main.mysqldump : randomly fails in 5.7.9' -add_test 'perfschema.memory_aggregate_no_a_no_u : randomly fails in 5.7.9' +# these tests fail in 5.7.10 on arms +%ifarch aarch64 armv7hl +add_test 'binlog.binlog_xa_prepared_disconnect : fails in 5.7.10' +add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' +add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' +add_test 'gis.gis_bugs_crashes : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' +add_test 'gis.spatial_operators_intersection : fails in 5.7.10' +add_test 'gis.spatial_operators_union : fails in 5.7.10' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_contains : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_equals : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_touches : fails in 5.7.10' +add_test 'gis.spatial_testing_functions_within : fails in 5.7.10' +add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' +add_test 'innodb_fts.opt : fails in 5.7.10' +add_test 'innodb_gis.gis : fails in 5.7.10' +add_test 'innodb_gis.1 : fails in 5.7.10' +add_test 'innodb.innodb : fails in 5.7.10' +add_test 'innodb.innodb-wl5980-discard : fails in 5.7.10' +add_test 'innodb.log_file : fails in 5.7.10' +add_test 'main.ctype_big5 : fails in 5.7.10' +add_test 'main.ctype_gbk : fails in 5.7.10' +add_test 'main.gis : fails in 5.7.10' +add_test 'main.gis-precise : fails in 5.7.10' +add_test 'main.insert : fails in 5.7.10' +add_test 'perfschema.func_file_io : fails in 5.7.10' +add_test 'perfschema.merge_table_io : fails in 5.7.10' +add_test 'perfschema.setup_objects : fails in 5.7.10' +add_test 'sysschema.fn_ps_thread_trx_info : fails in 5.7.10' +add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' +add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' +add_test 'test_service_sql_api.test_session_info : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.10' +%endif + +# these tests fail in 5.7.10 on ppcs +%ifarch ppc64 ppc64le +add_test 'federated.federated_server : fails in 5.7.10' +add_test 'funcs_1.innodb_views : fails in 5.7.10' +add_test 'funcs_1.storedproc : fails in 5.7.10' +add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' +add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' +add_test 'gis.gis_bugs_crashes : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' +add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' +add_test 'gis.spatial_operators_union : fails in 5.7.10' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' +add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' +add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' +add_test 'innodb_fts.ngram_1 : fails in 5.7.10' +add_test 'innodb_fts.plugin : fails in 5.7.10' +add_test 'innodb_fts.tablespace_location : fails in 5.7.10' +add_test 'innodb.innodb_bug30919 : fails in 5.7.10' +add_test 'innodb.innodb : fails in 5.7.10' +add_test 'innodb.mysqldump_max_recordsize : fails in 5.7.10' +add_test 'innodb_zip.cmp_per_index : fails in 5.7.10' +add_test 'innodb_zip.wl6470_2 : fails in 5.7.10' +add_test 'main.bootstrap : fails in 5.7.10' +add_test 'main.ctype_big5 : fails in 5.7.10' +add_test 'main.ctype_cp1251 : fails in 5.7.10' +add_test 'main.ctype_gbk : fails in 5.7.10' +add_test 'main.grant_alter_user : fails in 5.7.10' +add_test 'main.innodb_icp : fails in 5.7.10' +add_test 'main.innodb_mrr : fails in 5.7.10' +add_test 'main.innodb_mrr_icp : fails in 5.7.10' +add_test 'main.insert : fails in 5.7.10' +add_test 'main.mysql_client_test : fails in 5.7.10' +add_test 'main.mysqldump : fails in 5.7.10' +add_test 'main.mysql_embedded : fails in 5.7.10' +add_test 'main.partition_innodb_semi_consistent : fails in 5.7.10' +add_test 'main.partition_range : fails in 5.7.10' +add_test 'main.sql_mode_default : fails in 5.7.10' +add_test 'main.subquery_sj_dupsweed_bka_nixbnl : fails in 5.7.10' +add_test 'main.subquery_sj_firstmatch_bka : fails in 5.7.10' +add_test 'main.subquery_sj_firstmatch_bka_nixbnl : fails in 5.7.10' +add_test 'main.subquery_sj_none_bka : fails in 5.7.10' +add_test 'main.subselect_innodb : fails in 5.7.10' +add_test 'perfschema.mdl_func : fails in 5.7.10' +add_test 'perfschema.socket_summary_by_instance_func : fails in 5.7.10' +add_test 'rpl.rpl_alter_repository : fails in 5.7.10' +add_test 'rpl.rpl_checksum_cache : fails in 5.7.10' +add_test 'rpl.rpl_innodb_bug28430 : fails in 5.7.10' +add_test 'rpl.rpl_innodb_bug30888 : fails in 5.7.10' +add_test 'rpl.rpl_many_optimize : fails in 5.7.10' +add_test 'rpl.rpl_mixed_binlog_max_cache_size : fails in 5.7.10' +add_test 'rpl.rpl_recovery_replicate_same_server_id : fails in 5.7.10' +add_test 'rpl.rpl_replicate_do : fails in 5.7.10' +add_test 'rpl.rpl_rotate_logs : fails in 5.7.10' +add_test 'sysschema.pr_diagnostics : fails in 5.7.10' +add_test 'sysschema.pr_statement_performance_analyzer : fails in 5.7.10' +add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' +%endif + +# these tests fail in 5.7.10 on s390s +%ifarch s390 s390x +add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' +add_test 'gis.gis_bugs_crashes : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' +add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' +add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' +add_test 'gis.spatial_operators_union : fails in 5.7.10' +add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' +add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' +add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' +add_test 'innodb_fts.opt : fails in 5.7.10' +add_test 'main.ps_ddl : fails in 5.7.10' +add_test 'main.ps_ddl1 : fails in 5.7.10' +add_test 'perfschema.status_reprepare : fails in 5.7.10' +add_test 'rpl.rpl_cross_version : fails in 5.7.10' +add_test 'rpl.rpl_dual_pos_advance : fails in 5.7.10' +add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' +add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' +%endif # Workaround for upstream bug #http://bugs.mysql.com/56342 rm -f t/ssl_8k_key-master.opt -# these tests fail in 5.7.9 on arch -%ifarch %{arm} -add_test 'gis.spatial_operators_union : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_contains : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_disjoint : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_equals : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_intersects : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_overlaps : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_touches : fails in 5.7.9' -add_test 'gis.spatial_testing_functions_within : fails in 5.7.9' -add_test 'innodb_fts.opt : fails in 5.7.9' -add_test 'innodb_gis.gis : fails in 5.7.9' -add_test 'innodb_gis.precise : fails in 5.7.9' -add_test 'innodb_gis.1 : fails in 5.7.9' -add_test 'innodb.log_file : fails in 5.7.9' -add_test 'perfschema.dml_host_cache : fails in 5.7.9' -add_test 'perfschema.dml_hosts : fails in 5.7.9' -add_test 'perfschema.dml_file_instances : fails in 5.7.9' -add_test 'perfschema.mdl_func : fails in 5.7.9' -add_test 'perfschema.func_file_io : fails in 5.7.9' -add_test 'perfschema.setup_objects : fails in 5.7.9' -add_test 'test_service_sql_api.test_session_detach : fails in 5.7.9' -add_test 'test_service_sql_api.test_session_info : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_stored_procedures_functions : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.9' -add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.9' -# fails sometimes -add_test 'perfschema.func_mutex : fails in 5.7.9' -add_test 'main.xa_prepared_binlog_off : fails in 5.7.9' -add_test 'main.innodb_icp_all : fails in 5.7.9' -add_test 'perfschema.global_read_lock : fails in 5.7.9' -%endif - # Archs without hw performance counter, rh 741325 %ifarch aarch64 sparc64 add_test 'perfschema.func_file_io : rh 741325' -add_test 'perfschema.func_mutex : rh 741325' add_test 'perfschema.setup_objects : rh 741325' -add_test 'perfschema.global_read_lock : 77889' -%endif - -# Archs with collation issues, bugs.mysql.com/46895 -%ifarch aarch64 ppc %{power64} s390 s390x -add_test 'innodb.innodb_ctype_ldml : 46895' -add_test 'main.ctype_ldml : 46895' %endif # Archs with ps_ddl issues -%ifarch ppc s390 +%ifarch s390 add_test 'main.ps_ddl : ps_ddl issue' add_test 'main.ps_ddl1 : ps_ddl issue' %endif -# Arch with other issues -%ifarch ppc -add_test 'main.audit_plugin : unknown' -add_test 'main.upgrade : unknown' -%endif popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -546,6 +643,7 @@ cmake .. \ -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ + -DWITH_BOOST=.. \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ @@ -886,6 +984,8 @@ fi %{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip +%{_bindir}/lz4_decompress +%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -919,6 +1019,8 @@ fi %{_mandir}/man1/replace.1* %{_mandir}/man1/resolve_stack_dump.1* %{_mandir}/man1/resolveip.1* +%{_mandir}/man1/lz4_decompress.1* +%{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt @@ -982,6 +1084,9 @@ fi %endif %changelog +* Wed Dec 16 2015 Jakub Dorňák - 5.7.10-1 +- Update to 5.7.10 + * Fri Oct 2 2015 Jakub Dorňák - 5.7.9-1 - Update to 5.7.9 diff --git a/sources b/sources index 35278c8..7f953bc 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -6d782dda9046acb81e694934fd513993 mysql-5.7.9.tar.gz +aabc96e8628228014479f7233d076877 mysql-5.7.10.tar.gz +6aa9a5c6a4ca1016edd0ed1178e3cb87 boost_1_59_0.tar.bz2 From bbb2a971c0da341b31f60b1226884482514e8a2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 22 Jan 2016 15:09:10 +0100 Subject: [PATCH 114/274] i will inspect and analyze test results separately --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7863c44..ef2c5fa 100644 --- a/community-mysql.spec +++ b/community-mysql.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 # set to 1 to enable %global with_shared_lib_major_hack 1 From 1d9080ea5c4865e4e41a88a65024c0943b657ede Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 27 Jan 2016 19:36:20 +0100 Subject: [PATCH 115/274] Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) Use mysqld --initialize-insecure instead of mysql_install_db Create /var/lib/mysql-files (used by secure-file-priv) http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv Remove unnecessary Perl dependencies (mysqlhotcopy was removed in 5.7) Thanks Norvald H. Ryeng --- community-mysql.spec | 15 +++++++++++---- mysql-prepare-db-dir.sh | 2 +- mysql.service.in | 4 ++-- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ef2c5fa..1ba60b0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.10 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -284,9 +284,6 @@ Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} %endif -# 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} @@ -684,6 +681,7 @@ touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} +install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf @@ -1046,6 +1044,7 @@ fi %{_tmpfilesdir}/mysql.conf %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} +%attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -1084,6 +1083,14 @@ fi %endif %changelog +* Wed Jan 27 2016 Honza Horak - 5.7.10-2 +- Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) + Use mysqld --initialize-insecure instead of mysql_install_db + Create /var/lib/mysql-files (used by secure-file-priv) + http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_secure_file_priv + Remove unnecessary Perl dependencies (mysqlhotcopy was removed in 5.7) + Thanks Norvald H. Ryeng + * Wed Dec 16 2015 Jakub Dorňák - 5.7.10-1 - Update to 5.7.10 diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 563f644..6b1b5f1 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 --rpm --datadir="$datadir" --user="$myuser" + @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.service.in b/mysql.service.in index b9adee8..54b0638 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -28,7 +28,7 @@ After=syslog.target After=network.target [Service] -Type=simple +Type=forking User=mysql Group=mysql @@ -39,7 +39,7 @@ 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 --daemonize --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop From eddc6aede0018ed0da9dac2f6c5d9b6599244dcf Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 17:58:26 +0000 Subject: [PATCH 116/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1ba60b0..5b6f1f1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.10 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -1083,6 +1083,9 @@ fi %endif %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 5.7.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Wed Jan 27 2016 Honza Horak - 5.7.10-2 - Use mysqld instead of mysqld_safe (mysqld_safe not necessary for 5.7) Use mysqld --initialize-insecure instead of mysql_install_db From 199818834576d6bbcded5d6e842dc161fe4061a6 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Thu, 11 Feb 2016 22:43:45 +0100 Subject: [PATCH 117/274] Update to 5.7.11 Thanks to Norvald H. Ryeng Removing tar ball with boost and using mysql tar ball with boost bundled --- .gitignore | 2 + boost-1.48.0-add-bjam-man-page.patch | 150 ------------------ boost-1.50.0-fix-non-utf8-files.patch | 22 --- ...0-python-test-PyImport_AppendInittab.patch | 98 ------------ boost-1.57.0-build-optflags.patch | 48 ------ boost-1.57.0-python-abi_letters.patch | 62 -------- boost-1.57.0-python-libpython_dep.patch | 13 -- boost-1.58.0-address-model.patch | 13 -- boost-1.58.0-pool-test_linking.patch | 31 ---- community-mysql-5.7.9-major.patch | 2 +- community-mysql.spec | 43 ++--- mysql.service.in | 8 +- sources | 3 +- 13 files changed, 26 insertions(+), 469 deletions(-) delete mode 100644 boost-1.48.0-add-bjam-man-page.patch delete mode 100644 boost-1.50.0-fix-non-utf8-files.patch delete mode 100644 boost-1.55.0-python-test-PyImport_AppendInittab.patch delete mode 100644 boost-1.57.0-build-optflags.patch delete mode 100644 boost-1.57.0-python-abi_letters.patch delete mode 100644 boost-1.57.0-python-libpython_dep.patch delete mode 100644 boost-1.58.0-address-model.patch delete mode 100644 boost-1.58.0-pool-test_linking.patch diff --git a/.gitignore b/.gitignore index 5707045..3cb2961 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ /mysql-5.7.9.tar.gz /mysql-5.7.10.tar.gz /boost_1_59_0.tar.bz2 +/mysql-5.7.11.tar.gz +/mysql-boost-5.7.11.tar.gz diff --git a/boost-1.48.0-add-bjam-man-page.patch b/boost-1.48.0-add-bjam-man-page.patch deleted file mode 100644 index ea3f19f..0000000 --- a/boost-1.48.0-add-bjam-man-page.patch +++ /dev/null @@ -1,150 +0,0 @@ -diff --git a/tools/build/v2/doc/bjam.1 b/tools/build/v2/doc/bjam.1 -new file mode 100644 -index 0000000..8a44af6 ---- /dev/null -+++ b/tools/build/v2/doc/bjam.1 -@@ -0,0 +1,144 @@ -+.TH "bjam" 1 "Sat Nov 19 2011" "Doxygen" \" -*- nroff -*- -+.ad l -+.nh -+.SH NAME -+bjam \- Command-line utility to build Boost-related C++ projects with Boost\&.Build -+.SH "SYNOPSIS" -+.PP -+\fBbjam\fP \fC[-a] [-dx] [-fx] [-jx] [-lx] [-n] [-ox] [-px] [-q] [-sx=y] [-tx] [-v] [--x]\fP -+.PP -+\fIbjam\fP accepts the following options: -+.PP -+\fB-a\fP -+.br -+ Build all targets, even if they are current -+.PP -+\fB-dx\fP -+.br -+ Set the debug level to x (0-9) -+.PP -+\fB-fx\fP -+.br -+ Read x instead of Jambase -+.PP -+\fB-jx\fP -+.br -+ Run up to x shell commands concurrently -+.PP -+\fB-lx\fP -+.br -+ Limit actions to x number of seconds after which they are stopped -+.PP -+\fB-n\fP -+.br -+ Don't actually execute the updating actions -+.PP -+\fB-ox\fP -+.br -+ Write the updating actions to file x -+.PP -+\fB-px\fP -+.br -+ x=0, pipes action stdout and stderr merged into action output -+.PP -+\fB-q\fP -+.br -+ Quit quickly as soon as a target fails -+.PP -+\fB-sx=y\fP -+.br -+ Set variable x=y, overriding environment -+.PP -+\fB-tx\fP -+.br -+ Rebuild x, even if it is up-to-date -+.PP -+\fB-v\fP -+.br -+ Print the version of jam and exit -+.PP -+\fB--x\fP -+.br -+ Option is ignored -+.SH "DESCRIPTION" -+.PP -+This section provides the information necessary to create your own projects using \fIBoost\&.Build\fP The information provided here is relatively high-level, and Chapter 6, Reference as well as the on-line help system must be used to obtain low-level documentation (see --help) -+.PP -+\fIBoost\&.Build\fP actually consists of two parts - \fIBoost\&.Jam\fP, a build engine with its own interpreted language, and \fIBoost\&.Build\fP itself, implemented in \fIBoost\&.Jam's\fP language\&. The chain of events when you type bjam on the command line is as follows: -+.IP "\(bu" 2 -+\fIBoost\&.Jam\fP tries to find \fIBoost\&.Build\fP and loads the top-level module\&. The exact process is described in the section called “Initialization†-+.PP -+.PP -+.IP "\(bu" 2 -+The top-level module loads user-defined configuration files, \fIuser-config\&.jam\fP and \fIsite-config\&.jam\fP, which define available toolsets -+.PP -+.PP -+.IP "\(bu" 2 -+The \fIJamfile\fP in the current directory is read That in turn might cause reading of further Jamfiles\&. As a result, a tree of projects is created, with targets inside projects -+.PP -+.PP -+.IP "\(bu" 2 -+Finally, using the build request specified on the command line, \fIBoost\&.Build\fP decides which targets should be built and how\&. That information is passed back to \fIBoost\&.Jam\fP, which takes care of actually running the scheduled build action commands -+.PP -+.PP -+So, to be able to successfully use \fIBoost\&.Build\fP, you need to know only four things: -+.IP "\(bu" 2 -+How to configure \fIBoost\&.Build\fP (http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html) -+.IP "\(bu" 2 -+How to declare targets in Jamfiles (http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html) -+.IP "\(bu" 2 -+How the build process works (http://www.boost.org/boost-build2/doc/html/bbv2/overview/build_process.html) -+.PP -+.PP -+Some Basics about the \fIBoost\&.Jam\fP language\&. See the section called “Boost\&.Jam Language†(http://www.boost.org/boost-build2/doc/html/bbv2/overview/jam_language.html) -+.SH "CONCEPTS" -+.PP -+\fIBoost\&.Build\fP has a few unique concepts that are introduced in this section\&. The best way to explain the concepts is by comparison with more classical build tools -+.PP -+When using any flavour of make, you directly specify targets and commands that are used to create them from other target\&. The below example creates a\&.o from a\&.c using a hardcoded compiler invocation command -+.PP -+a\&.o: a\&.c -+.br -+ g++ -o a\&.o -g a\&.c -+.PP -+This is rather low-level description mechanism and it is hard to adjust commands, options, and sets of created targets depending on the used compiler and operating system\&. -+.PP -+To improve portability, most modern build system provide a set of higher-level functions that can be used in build description files\&. Consider this example: -+.PP -+add_program ('a', 'a\&.c') -+.br -+.PP -+This is a function call that creates targets necessary to create executable file from source file a\&.c\&. Depending on configured properties, different commands line may be used\&. However, \fIadd_program\fP is higher-level, but rather thin level All targets are created immediately when build description is parsed, which makes it impossible to perform multi-variant builds\&. Often, change in any build property requires complete reconfiguration of the build tree -+.PP -+In order to support true multivariant builds, Boost\&.Build introduces the concept of metatarget—object that is created when build description is parsed and can be later called with specific build properties to generate actual targets -+.PP -+Consider an example: -+.PP -+exe a : a\&.cpp ; -+.br -+.PP -+When this declaration is parsed, \fIBoost\&.Build\fP creates a metatarget, but does not yet decides what files must be created, or what commands must be used\&. After all build files are parsed, Boost\&.Build considers properties requested on the command line\&. Supposed you have invoked \fIBoost\&.Build\fP with: -+.PP -+\fIbjam\fP toolset=gcc toolset=msvc -+.br -+.PP -+In that case, the metatarget will be called twice, once with toolset=gcc and once with toolset=msvc\&. Both invocations will produce concrete targets, that will have different extensions and use different command lines\&. Another key concept is build property\&. Build property is a variable that affects the build process\&. It can be specified on the command line, and is passed when calling a metatarget -+.PP -+While all build tools have a similar mechanism, \fIBoost\&.Build\fP differs by requiring that all build properties are declared in advance, and providing a large set of properties with portable semantics -+.PP -+The final concept is property propagation\&. Boost\&.Build does not require that every metatarget is called with the same properties\&. Instead, the 'top-level' metatargets are called with the properties specified on the command line Each metatarget can elect to augment or override some properties (in particular, using the requirements mechanism, see the section called “Requirementsâ€: http://www.boost.org/boost-build2/doc/html/bbv2/overview/targets.html#bbv2.overview.targets.requirements) Then, the dependency metatargets are called with modified properties and produce concrete targets that are then used in build process Of course, dependency metatargets maybe in turn modify build properties and have dependencies of their own\&. -+.PP -+For more in-depth treatment of the requirements and concepts, you may refer to SYRCoSE 2009 Boost\&.Build article (http://syrcose.ispras.ru/2009/files/04_paper.pdf)\&. -+.SH "SEE ALSO" -+.PP -+\fBboost-libraries\fP(3) -+.SH "SUPPORT" -+.PP -+Please report any bugs to https://svn.boost.org/trac/boost/ -+.SH "COPYRIGHT" -+.PP -+Boost Software License - Version 1\&.0 - August 17th, 2003 -+.PP -+See the LICENSE_1_0\&.txt file for more information on that license, or directly on Internet: -+.br -+ http://www.boost.org/LICENSE_1_0.txt diff --git a/boost-1.50.0-fix-non-utf8-files.patch b/boost-1.50.0-fix-non-utf8-files.patch deleted file mode 100644 index b60a3ac..0000000 --- a/boost-1.50.0-fix-non-utf8-files.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/libs/units/example/autoprefixes.cpp b/libs/units/example/autoprefixes.cpp -index 8b2bc43..d04f2fe 100644 ---- a/libs/units/example/autoprefixes.cpp -+++ b/libs/units/example/autoprefixes.cpp -@@ -67,7 +67,7 @@ struct thing_base_unit : boost::units::base_unit - { - static const char* name() { return("EUR"); } -- static const char* symbol() { return("€"); } -+ static const char* symbol() { return("€"); } - }; - - int main() -@@ -140,7 +140,7 @@ int main() - - quantity ce = 2048. * euro_base_unit::unit_type(); - cout << name_format << engineering_prefix << ce << endl; // 2.048 kiloEUR -- cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ -+ cout << symbol_format << engineering_prefix << ce << endl; // 2.048 k€ - - - return 0; diff --git a/boost-1.55.0-python-test-PyImport_AppendInittab.patch b/boost-1.55.0-python-test-PyImport_AppendInittab.patch deleted file mode 100644 index 1d2ee5c..0000000 --- a/boost-1.55.0-python-test-PyImport_AppendInittab.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff -up boost_1_55_0/libs/python/test/exec.cpp\~ boost_1_55_0/libs/python/test/exec.cpp ---- boost_1_55_0/libs/python/test/exec.cpp~ 2010-07-05 00:38:38.000000000 +0200 -+++ boost_1_55_0/libs/python/test/exec.cpp 2015-01-09 21:31:12.903218280 +0100 -@@ -56,6 +56,20 @@ void eval_test() - BOOST_TEST(value == "ABCDEFG"); - } - -+struct PyCtx -+{ -+ PyCtx() { -+ Py_Initialize(); -+ } -+ -+ ~PyCtx() { -+ // N.B. certain problems may arise when Py_Finalize is called when -+ // using Boost.Python. However in this test suite it all seems to -+ // work fine. -+ Py_Finalize(); -+ } -+}; -+ - void exec_test() - { - // Register the module with the interpreter -@@ -68,6 +82,8 @@ void exec_test() - ) == -1) - throw std::runtime_error("Failed to add embedded_hello to the interpreter's " - "builtin modules"); -+ -+ PyCtx ctx; - // Retrieve the main module - python::object main = python::import("__main__"); - -@@ -148,41 +164,43 @@ void check_pyerr(bool pyerr_expected=fal - } - } - -+template -+bool -+run_and_handle_exception(Cb cb, bool pyerr_expected = false) -+{ -+ PyCtx ctx; -+ if (python::handle_exception(cb)) { -+ check_pyerr(pyerr_expected); -+ return true; -+ } else { -+ return false; -+ } -+} -+ - int main(int argc, char **argv) - { - BOOST_TEST(argc == 2 || argc == 3); - std::string script = argv[1]; -- // Initialize the interpreter -- Py_Initialize(); - -- if (python::handle_exception(eval_test)) { -- check_pyerr(); -- } -- else if(python::handle_exception(exec_test)) { -- check_pyerr(); -- } -- else if (python::handle_exception(boost::bind(exec_file_test, script))) { -+ // N.B. exec_test mustn't be called through run_and_handle_exception -+ // as it needs to handles the python context by itself. -+ if (run_and_handle_exception(eval_test) -+ || python::handle_exception(exec_test)) - check_pyerr(); -- } -- -- if (python::handle_exception(exec_test_error)) -- { -- check_pyerr(/*pyerr_expected*/ true); -- } - else -- { -+ run_and_handle_exception(boost::bind(exec_file_test, script)); -+ -+ if (!run_and_handle_exception(exec_test_error, true)) - BOOST_ERROR("Python exception expected, but not seen."); -- } - - if (argc > 2) { -+ PyCtx ctx; - // The main purpose is to test compilation. Since this test generates - // a file and I (rwgk) am uncertain about the side-effects, run it only - // if explicitly requested. - exercise_embedding_html(); - } - -- // Boost.Python doesn't support Py_Finalize yet. -- // Py_Finalize(); - return boost::report_errors(); - } - - -Diff finished. Fri Jan 9 21:31:13 2015 diff --git a/boost-1.57.0-build-optflags.patch b/boost-1.57.0-build-optflags.patch deleted file mode 100644 index d0b925f..0000000 --- a/boost-1.57.0-build-optflags.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff -up ./tools/build/src/tools/gcc.jam~ ./tools/build/src/tools/gcc.jam ---- ./tools/build/src/tools/gcc.jam~ 2015-02-09 15:01:04.850331626 +0100 -+++ ./tools/build/src/tools/gcc.jam 2015-02-09 15:44:29.122307134 +0100 -@@ -366,17 +366,17 @@ generators.override gcc.compile.c++.pch - toolset.flags gcc.compile PCH_FILE on : ; - - # Declare flags and action for compilation. --toolset.flags gcc.compile OPTIONS off : -O0 ; --toolset.flags gcc.compile OPTIONS speed : -O3 ; --toolset.flags gcc.compile OPTIONS space : -Os ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS speed : ; -+toolset.flags gcc.compile OPTIONS space : ; - --toolset.flags gcc.compile OPTIONS off : -fno-inline ; --toolset.flags gcc.compile OPTIONS on : -Wno-inline ; --toolset.flags gcc.compile OPTIONS full : -finline-functions -Wno-inline ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS on : ; -+toolset.flags gcc.compile OPTIONS full : ; - --toolset.flags gcc.compile OPTIONS off : -w ; --toolset.flags gcc.compile OPTIONS on : -Wall ; --toolset.flags gcc.compile OPTIONS all : -Wall -pedantic ; -+toolset.flags gcc.compile OPTIONS off : ; -+toolset.flags gcc.compile OPTIONS on : ; -+toolset.flags gcc.compile OPTIONS all : ; - toolset.flags gcc.compile OPTIONS on : -Werror ; - - toolset.flags gcc.compile OPTIONS on : -g ; -@@ -603,7 +603,7 @@ rule compile.fortran ( targets * : sourc - - actions compile.c++ bind PCH_FILE - { -- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" -+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" -c -o "$(<:W)" "$(>:W)" - } - - actions compile.c bind PCH_FILE -@@ -613,7 +613,7 @@ actions compile.c bind PCH_FILE - - actions compile.c++.preprocess bind PCH_FILE - { -- "$(CONFIG_COMMAND)" $(LANG) -ftemplate-depth-$(TEMPLATE_DEPTH) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" -+ "$(CONFIG_COMMAND)" $(LANG) $(OPTIONS) $(USER_OPTIONS) -D$(DEFINES) -I"$(PCH_FILE:D)" -I"$(INCLUDES)" "$(>:W)" -E >"$(<:W)" - } - - actions compile.c.preprocess bind PCH_FILE diff --git a/boost-1.57.0-python-abi_letters.patch b/boost-1.57.0-python-abi_letters.patch deleted file mode 100644 index 7df3ee7..0000000 --- a/boost-1.57.0-python-abi_letters.patch +++ /dev/null @@ -1,62 +0,0 @@ ---- boost_1_57_0/tools/build/src/tools/python.jam 2013-05-21 06:14:18.000000000 +0200 -+++ boost_1_55_0/tools/build/src/tools/python.jam 2014-05-29 19:09:12.115413877 +0200 -@@ -94,7 +94,7 @@ feature.feature pythonpath : : free opti - # using python : 2.3 : /usr/local/bin/python ; - # - rule init ( version ? : cmd-or-prefix ? : includes * : libraries ? -- : condition * : extension-suffix ? ) -+ : condition * : extension-suffix ? : abi-letters ? ) - { - project.push-current $(.project) ; - -@@ -107,7 +107,7 @@ rule init ( version ? : cmd-or-prefix ? - } - } - -- configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) ; -+ configure $(version) : $(cmd-or-prefix) : $(includes) : $(libraries) : $(condition) : $(extension-suffix) : $(abi-letters) ; - - project.pop-current ; - } -@@ -653,7 +653,7 @@ local rule system-library-dependencies ( - - # Declare a target to represent Python's library. - # --local rule declare-libpython-target ( version ? : requirements * ) -+local rule declare-libpython-target ( version ? : requirements * : abi-letters ? ) - { - # Compute the representation of Python version in the name of Python's - # library file. -@@ -677,13 +677,13 @@ local rule declare-libpython-target ( ve - } - - # Declare it. -- lib python.lib : : python$(lib-version) $(requirements) ; -+ lib python.lib : : python$(lib-version)$(abi-letters) $(requirements) ; - } - - - # Implementation of init. - local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? : -- condition * : extension-suffix ? ) -+ condition * : extension-suffix ? : abi-letters ? ) - { - local prefix ; - local exec-prefix ; -@@ -699,6 +699,7 @@ local rule configure ( version ? : cmd-o - extension-suffix ?= _d ; - } - extension-suffix ?= "" ; -+ abi-letters ?= "" ; - - # Normalize and dissect any version number. - local major-minor ; -@@ -922,7 +923,7 @@ local rule configure ( version ? : cmd-o - } - else - { -- declare-libpython-target $(version) : $(target-requirements) ; -+ declare-libpython-target $(version) : $(target-requirements) : $(abi-letters) ; - - # This is an evil hack. On, Windows, when Python is embedded, nothing - # seems to set up sys.path to include Python's standard library diff --git a/boost-1.57.0-python-libpython_dep.patch b/boost-1.57.0-python-libpython_dep.patch deleted file mode 100644 index 57bfc26..0000000 --- a/boost-1.57.0-python-libpython_dep.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: boost_1_57_0/tools/build/src/tools/python.jam -=================================================================== ---- boost_1_57_0/tools/build/src/tools/python.jam (revision 50406) -+++ boost_1_57_0/tools/build/src/tools/python.jam (working copy) -@@ -994,7 +994,7 @@ - else - { - alias python_for_extensions -- : -+ : python - : $(target-requirements) - : - : $(usage-requirements) diff --git a/boost-1.58.0-address-model.patch b/boost-1.58.0-address-model.patch deleted file mode 100644 index 3582737..0000000 --- a/boost-1.58.0-address-model.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- boost_1_58_0/tools/build/src/tools/gcc.jam~ 2015-07-17 15:14:57.381636224 +0100 -+++ boost_1_58_0/tools/build/src/tools/gcc.jam 2015-07-27 17:35:29.122264048 +0100 -@@ -421,7 +421,9 @@ - - rule setup-address-model ( targets * : sources * : properties * ) - { -- local model = [ feature.get-values address-model : $(properties) ] ; -+ # For RPM builds the address model flag is passed in %{optflags}. -+ # local model = [ feature.get-values address-model : $(properties) ] ; -+ local model ; - if $(model) - { - local option ; diff --git a/boost-1.58.0-pool-test_linking.patch b/boost-1.58.0-pool-test_linking.patch deleted file mode 100644 index a381370..0000000 --- a/boost-1.58.0-pool-test_linking.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -up boost_1_58_0/libs/pool/test/Jamfile.v2\~ boost_1_58_0/libs/pool/test/Jamfile.v2 ---- boost_1_57_0/libs/pool/test/Jamfile.v2~ 2015-07-17 11:36:16.362519826 +0100 -+++ boost_1_57_0/libs/pool/test/Jamfile.v2 2015-07-17 11:37:38.858847388 +0100 -@@ -28,17 +28,17 @@ - local Werr = gcc:on msvc:on ; - - test-suite pool : -- [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 ] -- [ run test_pool_alloc.cpp : : : $(Werr) ] -- [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 ] -- [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) ] -- [ run test_bug_3349.cpp : : : $(Werr) ] -- [ run test_bug_4960.cpp : : : $(Werr) ] -- [ run test_bug_1252.cpp : : : $(Werr) ] -- [ run test_bug_2696.cpp : : : $(Werr) ] -- [ run test_bug_5526.cpp : : : $(Werr) ] -+ [ run test_simple_seg_storage.cpp : : : $(Werr) msvc:-wd4267 /boost/system//boost_system ] -+ [ run test_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run pool_msvc_compiler_bug_test.cpp : : : $(Werr) msvc:-wd4512 /boost/system//boost_system ] -+ [ run test_msvc_mem_leak_detect.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_3349.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_4960.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_1252.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_2696.cpp : : : $(Werr) /boost/system//boost_system ] -+ [ run test_bug_5526.cpp : : : $(Werr) /boost/system//boost_system ] - [ run test_threading.cpp : : : multi /boost/thread//boost_thread ] -- [ run ../example/time_pool_alloc.cpp : : : $(Werr) ] -+ [ run ../example/time_pool_alloc.cpp : : : $(Werr) /boost/system//boost_system ] - [ compile test_poisoned_macros.cpp : $(Werr) ] - - # diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch index 15b50b8..bd50dc4 100644 --- a/community-mysql-5.7.9-major.patch +++ b/community-mysql-5.7.9-major.patch @@ -6,6 +6,6 @@ -SET(SHARED_LIB_MAJOR_VERSION "20") +SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "1") + SET(SHARED_LIB_MINOR_VERSION "2") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") diff --git a/community-mysql.spec b/community-mysql.spec index 5b6f1f1..ec5e6b6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.10 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 5.7.11 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -89,8 +89,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-%{version}.tar.gz -Source1: http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2 +Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source4: my_config.h @@ -125,18 +124,10 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 -Patch104: boost-1.50.0-fix-non-utf8-files.patch -Patch105: boost-1.48.0-add-bjam-man-page.patch Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch Patch136: boost-1.57.0-spirit-unused_typedef.patch Patch145: boost-1.54.0-locale-unused_typedef.patch -Patch151: boost-1.58.0-pool-test_linking.patch -Patch161: boost-1.57.0-python-libpython_dep.patch -Patch162: boost-1.57.0-python-abi_letters.patch -Patch163: boost-1.55.0-python-test-PyImport_AppendInittab.patch -Patch165: boost-1.57.0-build-optflags.patch -Patch168: boost-1.58.0-address-model.patch Patch170: boost-1.59.0-log.patch Patch180: boost-1.59-python-make_setter.patch Patch181: boost-1.59-test-fenv.patch @@ -395,23 +386,12 @@ the MySQL sources. %patch70 -p1 %endif -# Unpack Boost -%setup -q -n mysql-%{version} -D -T -a 1 - # Patch Boost -pushd boost_1_59_0 -%patch104 -p1 -%patch105 -p1 +pushd boost/boost_1_59_0 %patch115 -p0 %patch125 -p1 %patch136 -p1 %patch145 -p1 -%patch151 -p1 -%patch161 -p1 -%patch162 -p1 -%patch163 -p1 -%patch165 -p1 -%patch168 -p1 %patch170 -p2 %patch180 -p2 %patch181 -p2 @@ -640,9 +620,9 @@ cmake .. \ -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_BOOST=.. \ + -DWITH_BOOST=../boost/boost_1_59_0 \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ - -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="-std=gnu++98 %{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -682,6 +662,7 @@ touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files +install -p -m 0700 -d %{buildroot}%{_localstatedir}/lib/mysql-keyring %if %{with config} install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf @@ -696,11 +677,11 @@ install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{nam # install SysV init script %if %{with init_sysv} install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} +install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready %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-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 @@ -1035,7 +1016,9 @@ fi %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir +%if %{with init_sysv} %{_libexecdir}/mysql-wait-ready +%endif %{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket %{_libexecdir}/mysql-check-upgrade @@ -1045,6 +1028,7 @@ fi %{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files +%attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring %attr(0755,mysql,mysql) %dir %{pidfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -1083,6 +1067,11 @@ fi %endif %changelog +* Thu Feb 11 2016 Honza Horak - 5.7.11-1 +- Update to 5.7.11 + Thanks to Norvald H. Ryeng + Removing tar ball with boost and using mysql tar ball with boost bundled + * Wed Feb 03 2016 Fedora Release Engineering - 5.7.10-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/mysql.service.in b/mysql.service.in index 54b0638..32d22c8 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -31,6 +31,7 @@ After=network.target Type=forking User=mysql Group=mysql +PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid # Execute pre and post scripts as root PermissionsStartOnly=true @@ -39,8 +40,7 @@ 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=@libexecdir@/mysqld --daemonize --basedir=@prefix@ -ExecStartPost=@libexecdir@/mysql-wait-ready $MAINPID +ExecStart=@libexecdir@/mysqld --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop @@ -50,5 +50,9 @@ TimeoutSec=300 # Place temp files in a secure directory, not /tmp PrivateTmp=true +Restart=on-failure + +RestartPreventExitStatus=1 + [Install] WantedBy=multi-user.target diff --git a/sources b/sources index 7f953bc..a686ee6 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -aabc96e8628228014479f7233d076877 mysql-5.7.10.tar.gz -6aa9a5c6a4ca1016edd0ed1178e3cb87 boost_1_59_0.tar.bz2 +c870306646c11b9de97956a4ba77d28c mysql-boost-5.7.11.tar.gz From 12f495c7eaf5ee4e747c93759f31bdf5062baae8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 14 Feb 2016 20:46:56 +0100 Subject: [PATCH 118/274] Remove duplicate tmpfiles.d file Resolves: #1288216 --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index ec5e6b6..636ccb0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -671,7 +671,8 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.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 -install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{name}.conf +install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf +rm -rf %{buildroot}%{_tmpfilesdir}/mysql.conf %endif # install SysV init script @@ -1024,8 +1025,7 @@ fi %{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{_tmpfilesdir}/mysql.conf -%{?with_init_systemd:%{_tmpfilesdir}/%{name}.conf} +%{?with_init_systemd:%{_tmpfilesdir}/%{daemon_name}.conf} %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring @@ -1067,6 +1067,10 @@ fi %endif %changelog +* Sun Feb 14 2016 Honza Horak - 5.7.11-2 +- Remove duplicate tmpfiles.d file + Resolves: #1288216 + * Thu Feb 11 2016 Honza Horak - 5.7.11-1 - Update to 5.7.11 Thanks to Norvald H. Ryeng From e9f81954c8d131f19e93af2acb344c454089d501 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Tue, 24 May 2016 12:58:33 +0200 Subject: [PATCH 119/274] Update to 5.7.12 --- .gitignore | 1 + community-mysql.spec | 19 +++++++++---------- sources | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 3cb2961..a4c10d0 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ /boost_1_59_0.tar.bz2 /mysql-5.7.11.tar.gz /mysql-boost-5.7.11.tar.gz +/mysql-boost-5.7.12.tar.gz diff --git a/community-mysql.spec b/community-mysql.spec index 636ccb0..84de1e0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.11 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 5.7.12 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -255,13 +255,7 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -# note: no version here = %%{sameevr} -%if %{with mysql_names} -Requires: mysql-compat-client%{?_isa} -Requires: mysql%{?_isa} -%else -Requires: %{name}%{?_isa} -%endif +Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -779,7 +773,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,my_safe_process} +rm -f %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} rm -rf %{buildroot}%{_datadir}/mysql-test rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif @@ -1061,12 +1055,17 @@ fi %if %{with test} %files test %{_bindir}/mysql_client_test +%{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %{_mandir}/man1/mysql_client_test.1* %endif %changelog +* Tue May 24 2016 Jakub Dorňák - 5.7.12-1 +- Update to 5.7.12 + Thanks to Norvald H. Ryeng + * Sun Feb 14 2016 Honza Horak - 5.7.11-2 - Remove duplicate tmpfiles.d file Resolves: #1288216 diff --git a/sources b/sources index a686ee6..0c4a6be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c870306646c11b9de97956a4ba77d28c mysql-boost-5.7.11.tar.gz +fb9d67b708e5e9d29533c5be2768b41e mysql-boost-5.7.12.tar.gz From c53a0d0d01a683fd5cad9871d7d7bffd52fc9fb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 24 Jun 2016 09:41:32 +0200 Subject: [PATCH 120/274] Mandatory Perl build-requires added --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index 84de1e0..91f4b98 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -140,6 +140,7 @@ BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: openssl-devel BuildRequires: perl +BuildRequires: perl-generators BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel # Tests requires time and ps and some perl modules From 20d65c4008bc9b668258a12e628cc33187eea4c7 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Mon, 27 Jun 2016 08:25:45 +0200 Subject: [PATCH 121/274] multilib fixes Delegate most of the multilib decisions to multilib-rpm-config, this allows us to maintain the rules at central place. Version: 5.7.12-2 --- community-mysql.spec | 26 +++++++++++--------------- my_config.h | 34 ---------------------------------- 2 files changed, 11 insertions(+), 49 deletions(-) delete mode 100644 my_config.h diff --git a/community-mysql.spec b/community-mysql.spec index 91f4b98..57d75cf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -92,7 +92,6 @@ License: GPLv2 with exceptions and LGPLv2 and BSD Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in -Source4: my_config.h Source6: README.mysql-docs Source7: README.mysql-license Source10: mysql.tmpfiles.d.in @@ -143,6 +142,7 @@ BuildRequires: perl BuildRequires: perl-generators BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel +BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time @@ -631,20 +631,14 @@ pushd build make DESTDIR=%{buildroot} install # multilib header support +%multilib_fix_c_header --file %{_includedir}/mysql/my_config.h + +# 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 -install -p -m 644 %{SOURCE4} %{buildroot}%{_includedir}/mysql/ +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 # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also %%{name}-file-contents.patch) @@ -1030,8 +1024,7 @@ fi %if %{with devel} %files devel -%{_bindir}/mysql_config -%{_bindir}/mysql_config-%{__isa_bits} +%{_bindir}/mysql_config* %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %if %{with clibrary} @@ -1063,6 +1056,9 @@ fi %endif %changelog +* Mon Jun 27 2016 Pavel Raiskup - 5.7.12-2 +- BR multilib-rpm-config and use it for multilib workarounds + * Tue May 24 2016 Jakub Dorňák - 5.7.12-1 - Update to 5.7.12 Thanks to Norvald H. Ryeng diff --git a/my_config.h b/my_config.h deleted file mode 100644 index 0672f49..0000000 --- a/my_config.h +++ /dev/null @@ -1,34 +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 cdb68ca6500b7e22064fb216a52765cd7e55dd55 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Jul 2016 19:51:35 +0200 Subject: [PATCH 122/274] Do include installed scripts when not using systemd --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 57d75cf..f05a125 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -945,6 +945,9 @@ fi %{_bindir}/mysqlbinlog %if %{with init_systemd} %{_bindir}/mysqld_pre_systemd +%else +%{_bindir}/mysqld_multi +%{_bindir}/mysqld_safe %endif %{_bindir}/mysqldumpslow %{_bindir}/mysqltest From a51381c6f98b9cd6855bc89ba93398a949ef7098 Mon Sep 17 00:00:00 2001 From: Norvald Ryeng Date: Mon, 6 Jun 2016 10:34:02 +0200 Subject: [PATCH 123/274] Update to MySQL 5.7.13 --- community-mysql-5.7.13-fpu.patch | 113 ++++++++++ community-mysql-5.7.13-gcc6.patch | 14 ++ community-mysql-5.7.13-libedit.patch | 113 ++++++++++ community-mysql-5.7.13-pfs-oom-unittest.patch | 51 +++++ community-mysql-5.7.9-major.patch | 2 +- community-mysql.spec | 208 +++++------------- 6 files changed, 350 insertions(+), 151 deletions(-) create mode 100644 community-mysql-5.7.13-fpu.patch create mode 100644 community-mysql-5.7.13-gcc6.patch create mode 100644 community-mysql-5.7.13-libedit.patch create mode 100644 community-mysql-5.7.13-pfs-oom-unittest.patch diff --git a/community-mysql-5.7.13-fpu.patch b/community-mysql-5.7.13-fpu.patch new file mode 100644 index 0000000..4a26ada --- /dev/null +++ b/community-mysql-5.7.13-fpu.patch @@ -0,0 +1,113 @@ +commit 34ee5b9ce2d3ab1ccfb91016ee058949c69c1066 +Author: Norvald H. Ryeng +Date: Fri May 27 15:19:56 2016 +0200 + + Bug#23046775 DIFFERENT FLOATING POINT RESULTS ON ARM64 AND POWERPC + + Backport from trunk. + + Problem: The -fexpensive-optimizations option to gcc causes ARM64 and + PowerPC build to compute floating point operations slightly + differently from other platforms. This flag is enabled by -O2 and + higher optimization levels. + + Fix: Check for the unwanted floating point behavior in CMake and + disable expensive-optimizations in GCC builds on platforms that + experience this behavior. + +diff --git a/cmake/build_configurations/compiler_options.cmake b/cmake/build_configurations/compiler_options.cmake +index 98d553a..f105c7a 100644 +--- a/cmake/build_configurations/compiler_options.cmake ++++ b/cmake/build_configurations/compiler_options.cmake +@@ -15,6 +15,7 @@ + + INCLUDE(CheckCCompilerFlag) + INCLUDE(CheckCXXCompilerFlag) ++INCLUDE(cmake/floating_point.cmake) + + IF(SIZEOF_VOIDP EQUAL 4) + SET(32BIT 1) +@@ -33,6 +34,10 @@ IF(UNIX) + IF(WITH_VALGRIND) + SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}") + ENDIF() ++ # Disable optimizations that change floating point results ++ IF(HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -fno-expensive-optimizations") ++ ENDIF() + SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") + SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") + ENDIF() +@@ -48,6 +53,10 @@ IF(UNIX) + IF(WITH_VALGRIND) + SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}") + ENDIF() ++ # Disable optimizations that change floating point results ++ IF(HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -fno-expensive-optimizations") ++ ENDIF() + SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") + SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") + ENDIF() +diff --git a/cmake/floating_point.cmake b/cmake/floating_point.cmake +new file mode 100644 +index 0000000..6db63ad +--- /dev/null ++++ b/cmake/floating_point.cmake +@@ -0,0 +1,56 @@ ++# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. ++# ++# 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; version 2 of the License. ++# ++# 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, write to the Free Software ++# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ ++INCLUDE(CheckCSourceRuns) ++INCLUDE(CheckCXXSourceRuns) ++ ++SET(code " ++ int main (int argc, char **argv) ++ { ++ double n[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,1 }; ++ double m= 0, s= 0; ++ int i; ++ for(i= 0; i < 21; i++) ++ { ++ double m_kminusone= m; ++ m= m_kminusone + (n[i] - m_kminusone) / (double) (i + 2); ++ s= s + (n[i] - m_kminusone) * (n[i] - m); ++ } ++ /* ++ s should now be either 5e 74 d1 45 17 5d 14 40 or ++ 40 14 5d 17 45 d1 74 5e, depending on endianness. If the floating point ++ operations are over optimized, the least significant byte is 5d instead ++ of 5e. ++ */ ++ return (*(unsigned char*)(&s) == 0x5e || ++ *((unsigned char*)(&s) + 7) == 0x5e); ++ }" ++) ++ ++SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") ++SET(CMAKE_REQUIRED_FLAGS ++ "${CMAKE_REQUIRED_FLAGS} -O3 -fexpensive-optimizations" ++) ++ ++IF(CMAKE_COMPILER_IS_GNUCC) ++ CHECK_C_SOURCE_RUNS("${code}" HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ENDIF() ++ ++IF(CMAKE_COMPILER_IS_GNUCXX) ++ CHECK_CXX_SOURCE_RUNS("${code}" HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) ++ENDIF() ++ ++SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}") diff --git a/community-mysql-5.7.13-gcc6.patch b/community-mysql-5.7.13-gcc6.patch new file mode 100644 index 0000000..d971ddd --- /dev/null +++ b/community-mysql-5.7.13-gcc6.patch @@ -0,0 +1,14 @@ +diff --git a/client/auth_utils.cc b/client/auth_utils.cc +index 21416bb..03fd71c 100644 +--- a/client/auth_utils.cc ++++ b/client/auth_utils.cc +@@ -61,7 +61,7 @@ int parse_cnf_file(istream &sin, map *options, + getline(sin, option_value); + trim(&option_value); + if (option_name.length() > 0) +- options->insert(make_pair(option_name, option_value)); ++ options->insert(make_pair(option_name, option_value)); + } + return ALL_OK; + } catch(...) + diff --git a/community-mysql-5.7.13-libedit.patch b/community-mysql-5.7.13-libedit.patch new file mode 100644 index 0000000..0bcd7e8 --- /dev/null +++ b/community-mysql-5.7.13-libedit.patch @@ -0,0 +1,113 @@ +From 41480c0bacf8f354610825856b5c66b8516da607 Mon Sep 17 00:00:00 2001 +From: Jon Olav Hauglid +Date: Fri, 1 Jul 2016 09:00:16 +0200 +Subject: [PATCH] Bug#23708332: -DWITH_EDITLINE=SYSTEM BREAKS WITH + LIBEDIT-20160618-3.1 + +Add CMake check for the new editline completion API +and based on the result, use already existing code +for it in the mysql client. + +Change-Id: I8a9a721de24eef6359d3285cffd9745a8894ea4b +--- + client/mysql.cc | 8 ++++---- + cmake/readline.cmake | 22 +++++++++++++++++++--- + config.h.cmake | 1 + + 3 files changed, 24 insertions(+), 7 deletions(-) + +diff --git a/client/mysql.cc b/client/mysql.cc +index 94c3227..46147e9 100644 +--- a/client/mysql.cc ++++ b/client/mysql.cc +@@ -2816,7 +2816,7 @@ C_MODE_END + if not. + */ + +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + static int fake_magic_space(int, int); + extern "C" char *no_completion(const char*,int) + #elif defined(USE_LIBEDIT_INTERFACE) +@@ -2845,7 +2845,7 @@ static int not_in_history(const char *line) + } + + +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + static int fake_magic_space(int, int) + #else + static int fake_magic_space(const char *, int) +@@ -2862,7 +2862,7 @@ static void initialize_readline (char *name) + rl_readline_name = name; + + /* Tell the completer that we want a crack first. */ +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + rl_attempted_completion_function= (rl_completion_func_t*)&new_mysql_completion; + rl_completion_entry_function= (rl_compentry_func_t*)&no_completion; + +@@ -2890,7 +2890,7 @@ static char **new_mysql_completion(const char *text, + int end MY_ATTRIBUTE((unused))) + { + if (!status.batch && !quick) +-#if defined(USE_NEW_READLINE_INTERFACE) ++#if defined(USE_NEW_EDITLINE_INTERFACE) + return rl_completion_matches(text, new_command_generator); + #else + return completion_matches((char *)text, (CPFunction *)new_command_generator); +diff --git a/cmake/readline.cmake b/cmake/readline.cmake +index 00ecc53..8aed8cb 100644 +--- a/cmake/readline.cmake ++++ b/cmake/readline.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. + # + # 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 +@@ -158,12 +158,28 @@ MACRO (FIND_SYSTEM_EDITLINE) + completion_matches(0,0); + return res; + }" +- EDITLINE_HAVE_COMPLETION) ++ EDITLINE_HAVE_COMPLETION_INT) + +- IF(EDITLINE_HAVE_COMPLETION) ++ CHECK_CXX_SOURCE_COMPILES(" ++ #include ++ #include ++ int main(int argc, char **argv) ++ { ++ typedef char* MYFunction(const char*, int); ++ MYFunction* myf= rl_completion_entry_function; ++ char *res= (myf)(NULL, 0); ++ completion_matches(0,0); ++ return res != NULL; ++ }" ++ EDITLINE_HAVE_COMPLETION_CHAR) ++ ++ IF(EDITLINE_HAVE_COMPLETION_INT OR EDITLINE_HAVE_COMPLETION_CHAR) + SET(HAVE_HIST_ENTRY ${EDITLINE_HAVE_HIST_ENTRY}) + SET(USE_LIBEDIT_INTERFACE 1) + SET(EDITLINE_FOUND 1) ++ IF(EDITLINE_HAVE_COMPLETION_CHAR) ++ SET(USE_NEW_EDITLINE_INTERFACE 1) ++ ENDIF() + ENDIF() + ENDIF() + ENDMACRO() +diff --git a/config.h.cmake b/config.h.cmake +index f0a11c4..388442c 100644 +--- a/config.h.cmake ++++ b/config.h.cmake +@@ -276,6 +276,7 @@ + #cmakedefine HAVE_NCURSES_H 1 + #cmakedefine USE_LIBEDIT_INTERFACE 1 + #cmakedefine HAVE_HIST_ENTRY 1 ++#cmakedefine USE_NEW_EDITLINE_INTERFACE 1 + + /* + * Libedit +-- +2.7.4 + diff --git a/community-mysql-5.7.13-pfs-oom-unittest.patch b/community-mysql-5.7.13-pfs-oom-unittest.patch new file mode 100644 index 0000000..893b70f --- /dev/null +++ b/community-mysql-5.7.13-pfs-oom-unittest.patch @@ -0,0 +1,51 @@ +commit 6c23035b52284c2575f297311dfd0278bcbb0dd1 +Author: Christopher Powers +Date: Mon May 2 19:43:31 2016 +0100 + + Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY + + Two test cases pass on Windows but crash on Linux due to different init paths. + Now pass on both. + +diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc +index db74c9c..b6bc818 100644 +--- a/storage/perfschema/unittest/pfs_instr-oom-t.cc ++++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc +@@ -232,12 +232,14 @@ void test_oom() + ok(cond_2 == NULL, "oom (create cond)"); + + /* Create file. */ +- stub_alloc_always_fails = false; + PFS_thread fake_thread; ++ rc = init_instruments(¶m); + fake_thread.m_filename_hash_pins= NULL; + init_file_hash(¶m); +- rc = init_instruments(¶m); +- ok(rc == 0, "instances init"); ++ ++ stub_alloc_always_fails = true; ++ file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); ++ ok(file_2 == NULL, "oom (create file)"); + + stub_alloc_always_fails= false; + file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); +@@ -245,10 +247,6 @@ void test_oom() + release_file(file_1); + cleanup_instruments(); + +- stub_alloc_always_fails= true; +- file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); +- ok(file_2 == NULL, "oom (create file)"); +- + /* Create socket. */ + stub_alloc_always_fails = false; + rc = init_instruments(¶m); +@@ -422,7 +420,7 @@ void do_all_tests() + + int main(int, char **) + { +- plan(28); ++ plan(32); + MY_INIT("pfs_instr-oom-t"); + do_all_tests(); + return 0; diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch index bd50dc4..72f5bd6 100644 --- a/community-mysql-5.7.9-major.patch +++ b/community-mysql-5.7.9-major.patch @@ -6,6 +6,6 @@ -SET(SHARED_LIB_MAJOR_VERSION "20") +SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "2") + SET(SHARED_LIB_MINOR_VERSION "3") SET(PROTOCOL_VERSION "10") SET(DOT_FRM_VERSION "6") diff --git a/community-mysql.spec b/community-mysql.spec index f05a125..1a3af42 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.12 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 5.7.13 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,6 +120,10 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-5.7.13-pfs-oom-unittest.patch +Patch54: %{pkgnamepatch}-5.7.13-fpu.patch +Patch55: %{pkgnamepatch}-5.7.13-gcc6.patch +Patch56: %{pkgnamepatch}-5.7.13-libedit.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -377,6 +381,10 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 +%patch53 -p1 +%patch54 -p1 +%patch55 -p1 +%patch56 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -396,160 +404,60 @@ popd pushd mysql-test add_test () { - echo $1 >> %{skiplist} + echo "$@" $ >> %{skiplist} } touch %{skiplist} -# these tests fail in 5.7.10 on arms -%ifarch aarch64 armv7hl -add_test 'binlog.binlog_xa_prepared_disconnect : fails in 5.7.10' -add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' -add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' -add_test 'gis.gis_bugs_crashes : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' -add_test 'gis.spatial_operators_intersection : fails in 5.7.10' -add_test 'gis.spatial_operators_union : fails in 5.7.10' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_contains : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_crosses : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_equals : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_touches : fails in 5.7.10' -add_test 'gis.spatial_testing_functions_within : fails in 5.7.10' -add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' -add_test 'innodb_fts.opt : fails in 5.7.10' -add_test 'innodb_gis.gis : fails in 5.7.10' -add_test 'innodb_gis.1 : fails in 5.7.10' -add_test 'innodb.innodb : fails in 5.7.10' -add_test 'innodb.innodb-wl5980-discard : fails in 5.7.10' -add_test 'innodb.log_file : fails in 5.7.10' -add_test 'main.ctype_big5 : fails in 5.7.10' -add_test 'main.ctype_gbk : fails in 5.7.10' -add_test 'main.gis : fails in 5.7.10' -add_test 'main.gis-precise : fails in 5.7.10' -add_test 'main.insert : fails in 5.7.10' -add_test 'perfschema.func_file_io : fails in 5.7.10' -add_test 'perfschema.merge_table_io : fails in 5.7.10' -add_test 'perfschema.setup_objects : fails in 5.7.10' -add_test 'sysschema.fn_ps_thread_trx_info : fails in 5.7.10' -add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' -add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' -add_test 'test_service_sql_api.test_session_info : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_errors : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_general_log : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_processlist : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_2_sessions : fails in 5.7.10' +# unstable on all archs +add_test binlog.binlog_xa_prepared_disconnect : unstable test +add_test innodb.table_encrypt_kill : unstable test + +# these tests fail in 5.7.13 on arm32 +%ifarch %arm +# GIS related issue +add_test innodb_gis.1 : arm32 gis issue +add_test innodb_gis.gis : arm32 gis issue +add_test main.gis-precise : arm32 gis issue +add_test main.gis : arm32 gis issue +add_test gis.gis_bugs_crashes : arm32 gis issue +add_test gis.spatial_operators_intersection : arm32 gis issue +add_test gis.spatial_operators_union : arm32 gis issue +add_test gis.spatial_testing_functions_contains : arm32 gis issue +add_test gis.spatial_testing_functions_crosses : arm32 gis issue +add_test gis.spatial_testing_functions_equals : arm32 gis issue +add_test gis.spatial_testing_functions_touches : arm32 gis issue +add_test gis.spatial_testing_functions_within : arm32 gis issue +# FTS +add_test innodb_fts.opt : arm32 FTS issue +# Missing hw counters +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 %endif -# these tests fail in 5.7.10 on ppcs +# these tests fail in 5.7.13 on aarch64 +%ifarch aarch64 +add_test innodb.innodb : missing correct value +add_test innodb_fts.large_records : innodb assert +add_test main.ctype_big5 : innodb assert +add_test main.ctype_gbk : innodb assert +add_test main.ctype_utf8mb4_uca : innodb assert +add_test main.insert : innodb assert +add_test main.sp_trans : innodb assert +add_test sysschema.pr_diagnostics : innodb assert +add_test sys_vars.log_slow_admin_statements_func : innodb assert +%endif + +# these tests fail in 5.7.13 on ppc64* %ifarch ppc64 ppc64le -add_test 'federated.federated_server : fails in 5.7.10' -add_test 'funcs_1.innodb_views : fails in 5.7.10' -add_test 'funcs_1.storedproc : fails in 5.7.10' -add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' -add_test 'gis.geometry_property_function_issimple : fails in 5.7.10' -add_test 'gis.gis_bugs_crashes : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' -add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' -add_test 'gis.spatial_operators_union : fails in 5.7.10' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' -add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' -add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' -add_test 'innodb_fts.ngram_1 : fails in 5.7.10' -add_test 'innodb_fts.plugin : fails in 5.7.10' -add_test 'innodb_fts.tablespace_location : fails in 5.7.10' -add_test 'innodb.innodb_bug30919 : fails in 5.7.10' -add_test 'innodb.innodb : fails in 5.7.10' -add_test 'innodb.mysqldump_max_recordsize : fails in 5.7.10' -add_test 'innodb_zip.cmp_per_index : fails in 5.7.10' -add_test 'innodb_zip.wl6470_2 : fails in 5.7.10' -add_test 'main.bootstrap : fails in 5.7.10' -add_test 'main.ctype_big5 : fails in 5.7.10' -add_test 'main.ctype_cp1251 : fails in 5.7.10' -add_test 'main.ctype_gbk : fails in 5.7.10' -add_test 'main.grant_alter_user : fails in 5.7.10' -add_test 'main.innodb_icp : fails in 5.7.10' -add_test 'main.innodb_mrr : fails in 5.7.10' -add_test 'main.innodb_mrr_icp : fails in 5.7.10' -add_test 'main.insert : fails in 5.7.10' -add_test 'main.mysql_client_test : fails in 5.7.10' -add_test 'main.mysqldump : fails in 5.7.10' -add_test 'main.mysql_embedded : fails in 5.7.10' -add_test 'main.partition_innodb_semi_consistent : fails in 5.7.10' -add_test 'main.partition_range : fails in 5.7.10' -add_test 'main.sql_mode_default : fails in 5.7.10' -add_test 'main.subquery_sj_dupsweed_bka_nixbnl : fails in 5.7.10' -add_test 'main.subquery_sj_firstmatch_bka : fails in 5.7.10' -add_test 'main.subquery_sj_firstmatch_bka_nixbnl : fails in 5.7.10' -add_test 'main.subquery_sj_none_bka : fails in 5.7.10' -add_test 'main.subselect_innodb : fails in 5.7.10' -add_test 'perfschema.mdl_func : fails in 5.7.10' -add_test 'perfschema.socket_summary_by_instance_func : fails in 5.7.10' -add_test 'rpl.rpl_alter_repository : fails in 5.7.10' -add_test 'rpl.rpl_checksum_cache : fails in 5.7.10' -add_test 'rpl.rpl_innodb_bug28430 : fails in 5.7.10' -add_test 'rpl.rpl_innodb_bug30888 : fails in 5.7.10' -add_test 'rpl.rpl_many_optimize : fails in 5.7.10' -add_test 'rpl.rpl_mixed_binlog_max_cache_size : fails in 5.7.10' -add_test 'rpl.rpl_recovery_replicate_same_server_id : fails in 5.7.10' -add_test 'rpl.rpl_replicate_do : fails in 5.7.10' -add_test 'rpl.rpl_rotate_logs : fails in 5.7.10' -add_test 'sysschema.pr_diagnostics : fails in 5.7.10' -add_test 'sysschema.pr_statement_performance_analyzer : fails in 5.7.10' -add_test 'sysschema.v_schema_auto_increment_columns : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' -%endif - -# these tests fail in 5.7.10 on s390s -%ifarch s390 s390x -add_test 'gis.geometry_class_attri_prop : fails in 5.7.10' -add_test 'gis.gis_bugs_crashes : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_buffer : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_centroid : fails in 5.7.10' -add_test 'gis.spatial_analysis_functions_distance : fails in 5.7.10' -add_test 'gis.spatial_operators_symdifference : fails in 5.7.10' -add_test 'gis.spatial_operators_union : fails in 5.7.10' -add_test 'gis.spatial_op_testingfunc_mix : fails in 5.7.10' -add_test 'gis.spatial_utility_function_distance_sphere : fails in 5.7.10' -add_test 'gis.spatial_utility_function_simplify : fails in 5.7.10' -add_test 'innodb_fts.opt : fails in 5.7.10' -add_test 'main.ps_ddl : fails in 5.7.10' -add_test 'main.ps_ddl1 : fails in 5.7.10' -add_test 'perfschema.status_reprepare : fails in 5.7.10' -add_test 'rpl.rpl_cross_version : fails in 5.7.10' -add_test 'rpl.rpl_dual_pos_advance : fails in 5.7.10' -add_test 'test_service_sql_api.test_session_detach : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_all_col_types : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_complex : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_replication : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_sqlmode : fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_stored_procedures_functions: fails in 5.7.10' -add_test 'test_service_sql_api.test_sql_views_triggers : fails in 5.7.10' -%endif - -# Workaround for upstream bug #http://bugs.mysql.com/56342 -rm -f t/ssl_8k_key-master.opt - -# Archs without hw performance counter, rh 741325 -%ifarch aarch64 sparc64 -add_test 'perfschema.func_file_io : rh 741325' -add_test 'perfschema.setup_objects : rh 741325' -%endif - -# Archs with ps_ddl issues -%ifarch s390 -add_test 'main.ps_ddl : ps_ddl issue' -add_test 'main.ps_ddl1 : ps_ddl issue' +add_test innodb.innodb : missing correct value +add_test main.ctype_big5 : innodb assert +add_test main.ctype_gbk : innodb assert +add_test main.insert : innodb assert +add_test main.innodb_mrr_cost_icp : innodb assert +add_test main.mysqldump : innodb assert +add_test sys_vars.log_slow_admin_statements_func : innodb assert +add_test parts.partition_int_innodb : parts issue %endif popd @@ -617,7 +525,7 @@ cmake .. \ -DWITH_ZLIB=system \ -DWITH_BOOST=../boost/boost_1_59_0 \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ - -DCMAKE_CXX_FLAGS="-std=gnu++98 %{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ + -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} From 448be60003a7cf4ca6fcef71845fcec4c8f54b86 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Jul 2016 20:01:44 +0200 Subject: [PATCH 124/274] New sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a4c10d0..2e85a12 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ /mysql-5.7.11.tar.gz /mysql-boost-5.7.11.tar.gz /mysql-boost-5.7.12.tar.gz +/mysql-boost-5.7.13.tar.gz diff --git a/sources b/sources index 0c4a6be..2dbdc84 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fb9d67b708e5e9d29533c5be2768b41e mysql-boost-5.7.12.tar.gz +275a3c6f94b02ee9d5e3df2f7ebae68a mysql-boost-5.7.13.tar.gz From a0bac69f97b9e040d13b586cd953e268a932c623 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 13 Jul 2016 20:12:17 +0200 Subject: [PATCH 125/274] Do not require perl-generators on systems where this package does not exist --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 1a3af42..59b6025 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -143,7 +143,9 @@ BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: openssl-devel BuildRequires: perl +%if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-generators +%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config From e32085d812348cba9588feb8756e2f9a442a02e9 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 8 Aug 2016 14:08:59 +0200 Subject: [PATCH 126/274] Update to MySQL 5.7.14 --- community-mysql-5.7.13-fpu.patch | 113 ---------------- community-mysql-5.7.13-gcc6.patch | 14 -- community-mysql-5.7.13-libedit.patch | 113 ---------------- community-mysql-5.7.13-pfs-oom-unittest.patch | 51 -------- community-mysql-5.7.14-buf-align.patch | 26 ++++ community-mysql-5.7.14-lz4.patch | 123 ++++++++++++++++++ community-mysql.spec | 38 +----- 7 files changed, 156 insertions(+), 322 deletions(-) delete mode 100644 community-mysql-5.7.13-fpu.patch delete mode 100644 community-mysql-5.7.13-gcc6.patch delete mode 100644 community-mysql-5.7.13-libedit.patch delete mode 100644 community-mysql-5.7.13-pfs-oom-unittest.patch create mode 100644 community-mysql-5.7.14-buf-align.patch create mode 100644 community-mysql-5.7.14-lz4.patch diff --git a/community-mysql-5.7.13-fpu.patch b/community-mysql-5.7.13-fpu.patch deleted file mode 100644 index 4a26ada..0000000 --- a/community-mysql-5.7.13-fpu.patch +++ /dev/null @@ -1,113 +0,0 @@ -commit 34ee5b9ce2d3ab1ccfb91016ee058949c69c1066 -Author: Norvald H. Ryeng -Date: Fri May 27 15:19:56 2016 +0200 - - Bug#23046775 DIFFERENT FLOATING POINT RESULTS ON ARM64 AND POWERPC - - Backport from trunk. - - Problem: The -fexpensive-optimizations option to gcc causes ARM64 and - PowerPC build to compute floating point operations slightly - differently from other platforms. This flag is enabled by -O2 and - higher optimization levels. - - Fix: Check for the unwanted floating point behavior in CMake and - disable expensive-optimizations in GCC builds on platforms that - experience this behavior. - -diff --git a/cmake/build_configurations/compiler_options.cmake b/cmake/build_configurations/compiler_options.cmake -index 98d553a..f105c7a 100644 ---- a/cmake/build_configurations/compiler_options.cmake -+++ b/cmake/build_configurations/compiler_options.cmake -@@ -15,6 +15,7 @@ - - INCLUDE(CheckCCompilerFlag) - INCLUDE(CheckCXXCompilerFlag) -+INCLUDE(cmake/floating_point.cmake) - - IF(SIZEOF_VOIDP EQUAL 4) - SET(32BIT 1) -@@ -33,6 +34,10 @@ IF(UNIX) - IF(WITH_VALGRIND) - SET(COMMON_C_FLAGS "-fno-inline ${COMMON_C_FLAGS}") - ENDIF() -+ # Disable optimizations that change floating point results -+ IF(HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ SET(COMMON_C_FLAGS "${COMMON_C_FLAGS} -fno-expensive-optimizations") -+ ENDIF() - SET(CMAKE_C_FLAGS_DEBUG "${COMMON_C_FLAGS}") - SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}") - ENDIF() -@@ -48,6 +53,10 @@ IF(UNIX) - IF(WITH_VALGRIND) - SET(COMMON_CXX_FLAGS "-fno-inline ${COMMON_CXX_FLAGS}") - ENDIF() -+ # Disable optimizations that change floating point results -+ IF(HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ SET(COMMON_CXX_FLAGS "${COMMON_CXX_FLAGS} -fno-expensive-optimizations") -+ ENDIF() - SET(CMAKE_CXX_FLAGS_DEBUG "${COMMON_CXX_FLAGS}") - SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}") - ENDIF() -diff --git a/cmake/floating_point.cmake b/cmake/floating_point.cmake -new file mode 100644 -index 0000000..6db63ad ---- /dev/null -+++ b/cmake/floating_point.cmake -@@ -0,0 +1,56 @@ -+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. -+# -+# 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; version 2 of the License. -+# -+# 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, write to the Free Software -+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -+ -+INCLUDE(CheckCSourceRuns) -+INCLUDE(CheckCXXSourceRuns) -+ -+SET(code " -+ int main (int argc, char **argv) -+ { -+ double n[21] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,1 }; -+ double m= 0, s= 0; -+ int i; -+ for(i= 0; i < 21; i++) -+ { -+ double m_kminusone= m; -+ m= m_kminusone + (n[i] - m_kminusone) / (double) (i + 2); -+ s= s + (n[i] - m_kminusone) * (n[i] - m); -+ } -+ /* -+ s should now be either 5e 74 d1 45 17 5d 14 40 or -+ 40 14 5d 17 45 d1 74 5e, depending on endianness. If the floating point -+ operations are over optimized, the least significant byte is 5d instead -+ of 5e. -+ */ -+ return (*(unsigned char*)(&s) == 0x5e || -+ *((unsigned char*)(&s) + 7) == 0x5e); -+ }" -+) -+ -+SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") -+SET(CMAKE_REQUIRED_FLAGS -+ "${CMAKE_REQUIRED_FLAGS} -O3 -fexpensive-optimizations" -+) -+ -+IF(CMAKE_COMPILER_IS_GNUCC) -+ CHECK_C_SOURCE_RUNS("${code}" HAVE_C_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ENDIF() -+ -+IF(CMAKE_COMPILER_IS_GNUCXX) -+ CHECK_CXX_SOURCE_RUNS("${code}" HAVE_CXX_FLOATING_POINT_OPTIMIZATION_PROBLEMS) -+ENDIF() -+ -+SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}") diff --git a/community-mysql-5.7.13-gcc6.patch b/community-mysql-5.7.13-gcc6.patch deleted file mode 100644 index d971ddd..0000000 --- a/community-mysql-5.7.13-gcc6.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/client/auth_utils.cc b/client/auth_utils.cc -index 21416bb..03fd71c 100644 ---- a/client/auth_utils.cc -+++ b/client/auth_utils.cc -@@ -61,7 +61,7 @@ int parse_cnf_file(istream &sin, map *options, - getline(sin, option_value); - trim(&option_value); - if (option_name.length() > 0) -- options->insert(make_pair(option_name, option_value)); -+ options->insert(make_pair(option_name, option_value)); - } - return ALL_OK; - } catch(...) - diff --git a/community-mysql-5.7.13-libedit.patch b/community-mysql-5.7.13-libedit.patch deleted file mode 100644 index 0bcd7e8..0000000 --- a/community-mysql-5.7.13-libedit.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 41480c0bacf8f354610825856b5c66b8516da607 Mon Sep 17 00:00:00 2001 -From: Jon Olav Hauglid -Date: Fri, 1 Jul 2016 09:00:16 +0200 -Subject: [PATCH] Bug#23708332: -DWITH_EDITLINE=SYSTEM BREAKS WITH - LIBEDIT-20160618-3.1 - -Add CMake check for the new editline completion API -and based on the result, use already existing code -for it in the mysql client. - -Change-Id: I8a9a721de24eef6359d3285cffd9745a8894ea4b ---- - client/mysql.cc | 8 ++++---- - cmake/readline.cmake | 22 +++++++++++++++++++--- - config.h.cmake | 1 + - 3 files changed, 24 insertions(+), 7 deletions(-) - -diff --git a/client/mysql.cc b/client/mysql.cc -index 94c3227..46147e9 100644 ---- a/client/mysql.cc -+++ b/client/mysql.cc -@@ -2816,7 +2816,7 @@ C_MODE_END - if not. - */ - --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - static int fake_magic_space(int, int); - extern "C" char *no_completion(const char*,int) - #elif defined(USE_LIBEDIT_INTERFACE) -@@ -2845,7 +2845,7 @@ static int not_in_history(const char *line) - } - - --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - static int fake_magic_space(int, int) - #else - static int fake_magic_space(const char *, int) -@@ -2862,7 +2862,7 @@ static void initialize_readline (char *name) - rl_readline_name = name; - - /* Tell the completer that we want a crack first. */ --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - rl_attempted_completion_function= (rl_completion_func_t*)&new_mysql_completion; - rl_completion_entry_function= (rl_compentry_func_t*)&no_completion; - -@@ -2890,7 +2890,7 @@ static char **new_mysql_completion(const char *text, - int end MY_ATTRIBUTE((unused))) - { - if (!status.batch && !quick) --#if defined(USE_NEW_READLINE_INTERFACE) -+#if defined(USE_NEW_EDITLINE_INTERFACE) - return rl_completion_matches(text, new_command_generator); - #else - return completion_matches((char *)text, (CPFunction *)new_command_generator); -diff --git a/cmake/readline.cmake b/cmake/readline.cmake -index 00ecc53..8aed8cb 100644 ---- a/cmake/readline.cmake -+++ b/cmake/readline.cmake -@@ -1,4 +1,4 @@ --# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2009, 2016, Oracle and/or its affiliates. All rights reserved. - # - # 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 -@@ -158,12 +158,28 @@ MACRO (FIND_SYSTEM_EDITLINE) - completion_matches(0,0); - return res; - }" -- EDITLINE_HAVE_COMPLETION) -+ EDITLINE_HAVE_COMPLETION_INT) - -- IF(EDITLINE_HAVE_COMPLETION) -+ CHECK_CXX_SOURCE_COMPILES(" -+ #include -+ #include -+ int main(int argc, char **argv) -+ { -+ typedef char* MYFunction(const char*, int); -+ MYFunction* myf= rl_completion_entry_function; -+ char *res= (myf)(NULL, 0); -+ completion_matches(0,0); -+ return res != NULL; -+ }" -+ EDITLINE_HAVE_COMPLETION_CHAR) -+ -+ IF(EDITLINE_HAVE_COMPLETION_INT OR EDITLINE_HAVE_COMPLETION_CHAR) - SET(HAVE_HIST_ENTRY ${EDITLINE_HAVE_HIST_ENTRY}) - SET(USE_LIBEDIT_INTERFACE 1) - SET(EDITLINE_FOUND 1) -+ IF(EDITLINE_HAVE_COMPLETION_CHAR) -+ SET(USE_NEW_EDITLINE_INTERFACE 1) -+ ENDIF() - ENDIF() - ENDIF() - ENDMACRO() -diff --git a/config.h.cmake b/config.h.cmake -index f0a11c4..388442c 100644 ---- a/config.h.cmake -+++ b/config.h.cmake -@@ -276,6 +276,7 @@ - #cmakedefine HAVE_NCURSES_H 1 - #cmakedefine USE_LIBEDIT_INTERFACE 1 - #cmakedefine HAVE_HIST_ENTRY 1 -+#cmakedefine USE_NEW_EDITLINE_INTERFACE 1 - - /* - * Libedit --- -2.7.4 - diff --git a/community-mysql-5.7.13-pfs-oom-unittest.patch b/community-mysql-5.7.13-pfs-oom-unittest.patch deleted file mode 100644 index 893b70f..0000000 --- a/community-mysql-5.7.13-pfs-oom-unittest.patch +++ /dev/null @@ -1,51 +0,0 @@ -commit 6c23035b52284c2575f297311dfd0278bcbb0dd1 -Author: Christopher Powers -Date: Mon May 2 19:43:31 2016 +0100 - - Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY - - Two test cases pass on Windows but crash on Linux due to different init paths. - Now pass on both. - -diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc -index db74c9c..b6bc818 100644 ---- a/storage/perfschema/unittest/pfs_instr-oom-t.cc -+++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc -@@ -232,12 +232,14 @@ void test_oom() - ok(cond_2 == NULL, "oom (create cond)"); - - /* Create file. */ -- stub_alloc_always_fails = false; - PFS_thread fake_thread; -+ rc = init_instruments(¶m); - fake_thread.m_filename_hash_pins= NULL; - init_file_hash(¶m); -- rc = init_instruments(¶m); -- ok(rc == 0, "instances init"); -+ -+ stub_alloc_always_fails = true; -+ file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -+ ok(file_2 == NULL, "oom (create file)"); - - stub_alloc_always_fails= false; - file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -@@ -245,10 +247,6 @@ void test_oom() - release_file(file_1); - cleanup_instruments(); - -- stub_alloc_always_fails= true; -- file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true); -- ok(file_2 == NULL, "oom (create file)"); -- - /* Create socket. */ - stub_alloc_always_fails = false; - rc = init_instruments(¶m); -@@ -422,7 +420,7 @@ void do_all_tests() - - int main(int, char **) - { -- plan(28); -+ plan(32); - MY_INIT("pfs_instr-oom-t"); - do_all_tests(); - return 0; diff --git a/community-mysql-5.7.14-buf-align.patch b/community-mysql-5.7.14-buf-align.patch new file mode 100644 index 0000000..3c9de9a --- /dev/null +++ b/community-mysql-5.7.14-buf-align.patch @@ -0,0 +1,26 @@ +--- a/storage/innobase/buf/buf0buf.cc ++++ b/storage/innobase/buf/buf0buf.cc +@@ -3855,14 +3855,17 @@ buf_block_from_ahi(const byte* ptr) + ut_ad(buf_chunk_map_ref == buf_chunk_map_reg); + ut_ad(!buf_pool_resizing); + +- const byte* bound = reinterpret_cast(ptr) +- > srv_buf_pool_chunk_unit +- ? ptr - srv_buf_pool_chunk_unit : 0; +- it = chunk_map->upper_bound(bound); ++ buf_chunk_t* chunk; ++ it = chunk_map->upper_bound(ptr); ++ ++ ut_a(it != chunk_map->begin()); + +- ut_a(it != chunk_map->end()); ++ if (it == chunk_map->end()) { ++ chunk = chunk_map->rbegin()->second; ++ } else { ++ chunk = (--it)->second; ++ } + +- buf_chunk_t* chunk = it->second; + ulint offs = ptr - chunk->blocks->frame; + + offs >>= UNIV_PAGE_SIZE_SHIFT; diff --git a/community-mysql-5.7.14-lz4.patch b/community-mysql-5.7.14-lz4.patch new file mode 100644 index 0000000..784c4da --- /dev/null +++ b/community-mysql-5.7.14-lz4.patch @@ -0,0 +1,123 @@ + +Problem: The fix for bug #23607230 used xxhash symbols from liblz4, +but even though the xxhash symbols are exported by liblz4, the header +file is not part of the API, so compilation fails when building with +WITH_LZ4=system. + +Fix: Build xxhash separately from liblz4 so that it's available both +when using system and bundled lz4 libraries. +--- + extra/lz4/my_xxhash.h | 27 +++++++++++++++++++++++++++ + libmysqld/CMakeLists.txt | 6 ++++++ + sql/CMakeLists.txt | 6 ++++++ + sql/rpl_write_set_handler.cc | 4 ++-- + 4 files changed, 41 insertions(+), 2 deletions(-) + create mode 100644 extra/lz4/my_xxhash.h + +diff --git a/extra/lz4/my_xxhash.h b/extra/lz4/my_xxhash.h +new file mode 100644 +index 0000000..699c1b5 +--- /dev/null ++++ b/extra/lz4/my_xxhash.h +@@ -0,0 +1,27 @@ ++#ifndef MY_XXHASH_H_INCLUDED ++#define MY_XXHASH_H_INCLUDED ++ ++/* ++ Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. ++ ++ 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; version 2 of the License. ++ ++ 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, write to the Free Software Foundation, ++ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA ++*/ ++ ++// Define a namespace prefix to all xxhash functions. This is done to ++// avoid conflict with xxhash symbols in liblz4. ++#define XXH_NAMESPACE MY_ ++ ++#include "xxhash.h" ++ ++#endif // MY_XXHASH_H_INCLUDED +diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt +index cb188ec..0093f2e 100644 +--- a/libmysqld/CMakeLists.txt ++++ b/libmysqld/CMakeLists.txt +@@ -62,6 +62,7 @@ SET(SQL_EMBEDDED_SOURCES + libmysqld.c + ${GEN_SOURCES} + ${GEN_YACC_SOURCES} ++ ../extra/lz4/xxhash.c + ../client/get_password.c + ../libmysql/errmsg.c + ../libmysql/libmysql.c +@@ -118,6 +119,11 @@ ADD_COMPILE_FLAGS( + COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + ++ADD_COMPILE_FLAGS( ++ ../extra/lz4/xxhash.c ++ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ ++) ++ + # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD + # The flag /bigobj is not added if the build is not /MD + IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8) +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index 50352b1..ea42ff5 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -254,6 +254,7 @@ SET(SQL_SOURCE + ${GEN_DIGEST_SOURCES} + ${CONF_SOURCES} + ${SQL_SHARED_SOURCES} ++ ../extra/lz4/xxhash.c + ../libmysql/errmsg.c + ../sql-common/client.c + ../sql-common/client_plugin.c +@@ -314,6 +315,11 @@ ADD_COMPILE_FLAGS( + COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} + ) + ++ADD_COMPILE_FLAGS( ++ ../extra/lz4/xxhash.c ++ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ ++) ++ + # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD + # The flag /bigobj is not added if the build is not WINDOWS_RUNTIME_MD (/MD) + IF(WINDOWS_RUNTIME_MD AND CMAKE_SIZEOF_VOID_P MATCHES 8) +diff --git a/sql/rpl_write_set_handler.cc b/sql/rpl_write_set_handler.cc +index 3897321..c7e778e 100644 +--- a/sql/rpl_write_set_handler.cc ++++ b/sql/rpl_write_set_handler.cc +@@ -23,7 +23,7 @@ + #include "table.h" // TABLE + + #include "my_murmur3.h" // murmur3_32 +-#include "xxhash.h" // xxHash ++#include "../extra/lz4/my_xxhash.h" // xxHash + + #include + #include +@@ -61,7 +61,7 @@ template uint64 calc_hash(ulong algorithm, type T) + if(algorithm == HASH_ALGORITHM_MURMUR32) + return (murmur3_32((const uchar*)T, strlen(T), 0)); + else +- return (XXH64((const uchar*)T, strlen(T), 0)); ++ return (MY_XXH64((const uchar*)T, strlen(T), 0)); + } + + /** +-- +2.1.0 + + diff --git a/community-mysql.spec b/community-mysql.spec index 59b6025..10667f2 100644 --- a/community-mysql.spec +++ b/community-mysql.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 # set to 1 to enable %global with_shared_lib_major_hack 1 @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.13 +Version: 5.7.14 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -120,10 +120,8 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.7.13-pfs-oom-unittest.patch -Patch54: %{pkgnamepatch}-5.7.13-fpu.patch -Patch55: %{pkgnamepatch}-5.7.13-gcc6.patch -Patch56: %{pkgnamepatch}-5.7.13-libedit.patch +Patch53: %{pkgnamepatch}-5.7.14-lz4.patch +Patch54: %{pkgnamepatch}-5.7.14-buf-align.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -385,8 +383,6 @@ the MySQL sources. %patch52 -p1 %patch53 -p1 %patch54 -p1 -%patch55 -p1 -%patch56 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -415,7 +411,7 @@ touch %{skiplist} add_test binlog.binlog_xa_prepared_disconnect : unstable test add_test innodb.table_encrypt_kill : unstable test -# these tests fail in 5.7.13 on arm32 +# these tests fail in 5.7.14 on arm32 %ifarch %arm # GIS related issue add_test innodb_gis.1 : arm32 gis issue @@ -437,29 +433,9 @@ add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 %endif -# these tests fail in 5.7.13 on aarch64 -%ifarch aarch64 +# this test fail in 5.7.14 on ppc64* and aarch64 +%ifarch ppc64 ppc64le aarch64 add_test innodb.innodb : missing correct value -add_test innodb_fts.large_records : innodb assert -add_test main.ctype_big5 : innodb assert -add_test main.ctype_gbk : innodb assert -add_test main.ctype_utf8mb4_uca : innodb assert -add_test main.insert : innodb assert -add_test main.sp_trans : innodb assert -add_test sysschema.pr_diagnostics : innodb assert -add_test sys_vars.log_slow_admin_statements_func : innodb assert -%endif - -# these tests fail in 5.7.13 on ppc64* -%ifarch ppc64 ppc64le -add_test innodb.innodb : missing correct value -add_test main.ctype_big5 : innodb assert -add_test main.ctype_gbk : innodb assert -add_test main.insert : innodb assert -add_test main.innodb_mrr_cost_icp : innodb assert -add_test main.mysqldump : innodb assert -add_test sys_vars.log_slow_admin_statements_func : innodb assert -add_test parts.partition_int_innodb : parts issue %endif popd From 6329051b24886f90ffd0c5e3322d8e775308a99a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Wed, 10 Aug 2016 08:47:41 +0200 Subject: [PATCH 127/274] Update to MySQL 5.7.14 - sources --- .gitignore | 29 +++-------------------------- sources | 2 +- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/.gitignore b/.gitignore index 2e85a12..20870bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,3 @@ -/mysql-5.5.30-nodocs.tar.gz -/mysql-5.5.31-nodocs.tar.gz -/mysql-5.5.32-nodocs.tar.gz -/mysql-man-gpl.tar.gz -/mysql-5.5.32-nodocs.tar.xz -/mysql-5.5.33-nodocs.tar.xz -/mysql-5.6.14-nodocs.tar.xz -/mysql-5.6.15.tar.gz -/mysql-5.6.16.tar.gz -/mysql-5.6.17.tar.gz -/mysql-5.6.19.tar.gz -/mysql-5.6.20.tar.gz -/mysql-5.6.21.tar.gz -/mysql-5.6.22.tar.gz -/mysql-5.6.23.tar.gz -/mysql-5.6.24.tar.gz -/mysql-5.6.25.tar.gz -/mysql-5.6.26.tar.gz -/mysql-5.6.27.tar.gz -/mysql-5.7.9.tar.gz -/mysql-5.7.10.tar.gz -/boost_1_59_0.tar.bz2 -/mysql-5.7.11.tar.gz -/mysql-boost-5.7.11.tar.gz -/mysql-boost-5.7.12.tar.gz -/mysql-boost-5.7.13.tar.gz +/*/ +/*.rpm +/*.tar.gz diff --git a/sources b/sources index 2dbdc84..a3b3924 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -275a3c6f94b02ee9d5e3df2f7ebae68a mysql-boost-5.7.13.tar.gz +f90464874ee635ff63c436d1b64fe311 mysql-boost-5.7.14.tar.gz From 5e9f498a9837ae8708ef80019f745d3a49118ee6 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 7 Sep 2016 09:38:53 +0200 Subject: [PATCH 128/274] Update to MySQL 5.7.15 --- community-mysql-5.7.14-buf-align.patch | 26 ------ community-mysql-5.7.14-lz4.patch | 123 ------------------------- community-mysql.spec | 32 +++++-- sources | 2 +- 4 files changed, 27 insertions(+), 156 deletions(-) delete mode 100644 community-mysql-5.7.14-buf-align.patch delete mode 100644 community-mysql-5.7.14-lz4.patch diff --git a/community-mysql-5.7.14-buf-align.patch b/community-mysql-5.7.14-buf-align.patch deleted file mode 100644 index 3c9de9a..0000000 --- a/community-mysql-5.7.14-buf-align.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- a/storage/innobase/buf/buf0buf.cc -+++ b/storage/innobase/buf/buf0buf.cc -@@ -3855,14 +3855,17 @@ buf_block_from_ahi(const byte* ptr) - ut_ad(buf_chunk_map_ref == buf_chunk_map_reg); - ut_ad(!buf_pool_resizing); - -- const byte* bound = reinterpret_cast(ptr) -- > srv_buf_pool_chunk_unit -- ? ptr - srv_buf_pool_chunk_unit : 0; -- it = chunk_map->upper_bound(bound); -+ buf_chunk_t* chunk; -+ it = chunk_map->upper_bound(ptr); -+ -+ ut_a(it != chunk_map->begin()); - -- ut_a(it != chunk_map->end()); -+ if (it == chunk_map->end()) { -+ chunk = chunk_map->rbegin()->second; -+ } else { -+ chunk = (--it)->second; -+ } - -- buf_chunk_t* chunk = it->second; - ulint offs = ptr - chunk->blocks->frame; - - offs >>= UNIV_PAGE_SIZE_SHIFT; diff --git a/community-mysql-5.7.14-lz4.patch b/community-mysql-5.7.14-lz4.patch deleted file mode 100644 index 784c4da..0000000 --- a/community-mysql-5.7.14-lz4.patch +++ /dev/null @@ -1,123 +0,0 @@ - -Problem: The fix for bug #23607230 used xxhash symbols from liblz4, -but even though the xxhash symbols are exported by liblz4, the header -file is not part of the API, so compilation fails when building with -WITH_LZ4=system. - -Fix: Build xxhash separately from liblz4 so that it's available both -when using system and bundled lz4 libraries. ---- - extra/lz4/my_xxhash.h | 27 +++++++++++++++++++++++++++ - libmysqld/CMakeLists.txt | 6 ++++++ - sql/CMakeLists.txt | 6 ++++++ - sql/rpl_write_set_handler.cc | 4 ++-- - 4 files changed, 41 insertions(+), 2 deletions(-) - create mode 100644 extra/lz4/my_xxhash.h - -diff --git a/extra/lz4/my_xxhash.h b/extra/lz4/my_xxhash.h -new file mode 100644 -index 0000000..699c1b5 ---- /dev/null -+++ b/extra/lz4/my_xxhash.h -@@ -0,0 +1,27 @@ -+#ifndef MY_XXHASH_H_INCLUDED -+#define MY_XXHASH_H_INCLUDED -+ -+/* -+ Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. -+ -+ 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; version 2 of the License. -+ -+ 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, write to the Free Software Foundation, -+ 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA -+*/ -+ -+// Define a namespace prefix to all xxhash functions. This is done to -+// avoid conflict with xxhash symbols in liblz4. -+#define XXH_NAMESPACE MY_ -+ -+#include "xxhash.h" -+ -+#endif // MY_XXHASH_H_INCLUDED -diff --git a/libmysqld/CMakeLists.txt b/libmysqld/CMakeLists.txt -index cb188ec..0093f2e 100644 ---- a/libmysqld/CMakeLists.txt -+++ b/libmysqld/CMakeLists.txt -@@ -62,6 +62,7 @@ SET(SQL_EMBEDDED_SOURCES - libmysqld.c - ${GEN_SOURCES} - ${GEN_YACC_SOURCES} -+ ../extra/lz4/xxhash.c - ../client/get_password.c - ../libmysql/errmsg.c - ../libmysql/libmysql.c -@@ -118,6 +119,11 @@ ADD_COMPILE_FLAGS( - COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} - ) - -+ADD_COMPILE_FLAGS( -+ ../extra/lz4/xxhash.c -+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ -+) -+ - # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD - # The flag /bigobj is not added if the build is not /MD - IF(WIN32 AND CMAKE_SIZEOF_VOID_P MATCHES 8) -diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt -index 50352b1..ea42ff5 100644 ---- a/sql/CMakeLists.txt -+++ b/sql/CMakeLists.txt -@@ -254,6 +254,7 @@ SET(SQL_SOURCE - ${GEN_DIGEST_SOURCES} - ${CONF_SOURCES} - ${SQL_SHARED_SOURCES} -+ ../extra/lz4/xxhash.c - ../libmysql/errmsg.c - ../sql-common/client.c - ../sql-common/client_plugin.c -@@ -314,6 +315,11 @@ ADD_COMPILE_FLAGS( - COMPILE_FLAGS -I${BOOST_PATCHES_DIR} -I${BOOST_INCLUDE_DIR} - ) - -+ADD_COMPILE_FLAGS( -+ ../extra/lz4/xxhash.c -+ COMPILE_FLAGS -DXXH_NAMESPACE=MY_ -+) -+ - # Fixes "C1128: number of sections exceeded object file format limit" in MSVC /MD - # The flag /bigobj is not added if the build is not WINDOWS_RUNTIME_MD (/MD) - IF(WINDOWS_RUNTIME_MD AND CMAKE_SIZEOF_VOID_P MATCHES 8) -diff --git a/sql/rpl_write_set_handler.cc b/sql/rpl_write_set_handler.cc -index 3897321..c7e778e 100644 ---- a/sql/rpl_write_set_handler.cc -+++ b/sql/rpl_write_set_handler.cc -@@ -23,7 +23,7 @@ - #include "table.h" // TABLE - - #include "my_murmur3.h" // murmur3_32 --#include "xxhash.h" // xxHash -+#include "../extra/lz4/my_xxhash.h" // xxHash - - #include - #include -@@ -61,7 +61,7 @@ template uint64 calc_hash(ulong algorithm, type T) - if(algorithm == HASH_ALGORITHM_MURMUR32) - return (murmur3_32((const uchar*)T, strlen(T), 0)); - else -- return (XXH64((const uchar*)T, strlen(T), 0)); -+ return (MY_XXH64((const uchar*)T, strlen(T), 0)); - } - - /** --- -2.1.0 - - diff --git a/community-mysql.spec b/community-mysql.spec index 10667f2..be20d7a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.14 +Version: 5.7.15 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -120,8 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-5.7.14-lz4.patch -Patch54: %{pkgnamepatch}-5.7.14-buf-align.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -159,6 +157,7 @@ BuildRequires: perl(File::Temp) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) +BuildRequires: perl(JSON) BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) @@ -354,6 +353,7 @@ Requires: perl(File::Temp) Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) +Requires: perl(JSON) Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) @@ -381,8 +381,6 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch54 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -670,7 +668,7 @@ cp ../../mysql-test/%{skiplist} . export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ --mem --parallel=auto --force --retry=0 \ - --mysqld=--binlog-format=mixed \ + --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ --clean-vardir \ %if %{check_testsuite} @@ -945,6 +943,28 @@ fi %endif %changelog +* Tue Sep 06 2016 Norvald H. Ryeng - 5.7.15-1 +- Update to MySQL 5.7.15, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html +- Remove patches now upstream (buf_block_align, lz4) +- perl(JSON) needed for tests + +* Wed Aug 10 2016 Norvald H. Ryeng - 5.7.14-2 +- Skip rpl tests, unstable in Fedora build environment + +* Tue Aug 09 2016 Norvald H. Ryeng - 5.7.14-1 +- Update to MySQL 5.7.14, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-14.html +- Remove patches for bugs fixed upstream +- Fix for bug #79378 (buf_block_align) +- Fix for bug #82426 (build failure with system liblz4) +- Further reduce list of tests known to fail on certain platforms +- Set check_testsuite to 0 to make sure the build fails if any tests fail + +* Wed Jul 13 2016 Norvald H. Ryeng - 5.7.13-1 +- Update to MySQL 5.7.13, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-13.html + * Mon Jun 27 2016 Pavel Raiskup - 5.7.12-2 - BR multilib-rpm-config and use it for multilib workarounds diff --git a/sources b/sources index a3b3924..858508c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f90464874ee635ff63c436d1b64fe311 mysql-boost-5.7.14.tar.gz +21112d90f83987e731cb0ea02cd5f517 mysql-boost-5.7.15.tar.gz From 7c7448b2304165434ebb808f1f34ccdabe4479c9 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 7 Sep 2016 18:15:22 +0200 Subject: [PATCH 129/274] Adjust list of problematic tests --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index be20d7a..a31a2bc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -406,6 +406,7 @@ add_test () { touch %{skiplist} # unstable on all archs +add_test main.xa_prepared_binlog_off : unstable test add_test binlog.binlog_xa_prepared_disconnect : unstable test add_test innodb.table_encrypt_kill : unstable test @@ -427,6 +428,7 @@ add_test gis.spatial_testing_functions_within : arm32 gis issue # FTS add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters +add_test perfschema.func_mutex : missing hw on arm32 add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 %endif @@ -948,6 +950,7 @@ fi https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html - Remove patches now upstream (buf_block_align, lz4) - perl(JSON) needed for tests +- Adjust list of problematic tests * Wed Aug 10 2016 Norvald H. Ryeng - 5.7.14-2 - Skip rpl tests, unstable in Fedora build environment From f5cb3b5ffa62e046214284b043c6f24073b4f6fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Mon, 12 Sep 2016 13:45:33 +0200 Subject: [PATCH 130/274] Adjust list of problematic tests --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index a31a2bc..705530b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -431,6 +431,7 @@ add_test innodb_fts.opt : arm32 FTS issue add_test perfschema.func_mutex : missing hw on arm32 add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 %endif # this test fail in 5.7.14 on ppc64* and aarch64 From 5a37a0d5c73ced26eda63d3d87b782a94d583ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Dor=C5=88=C3=A1k?= Date: Fri, 16 Sep 2016 21:44:12 +0200 Subject: [PATCH 131/274] Adjust list of problematic tests --- community-mysql.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 705530b..56d01ae 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -428,10 +428,11 @@ add_test gis.spatial_testing_functions_within : arm32 gis issue # FTS add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters -add_test perfschema.func_mutex : missing hw on arm32 -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.func_mutex : missing hw on arm32 +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.mdl_func : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 %endif # this test fail in 5.7.14 on ppc64* and aarch64 From 6c7478e1df7367c2e10699d46febb197d4de7fa5 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Tue, 18 Oct 2016 11:42:29 +0200 Subject: [PATCH 132/274] Update to MySQL 5.7.16 --- community-mysql.spec | 6 +++++- sources | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 56d01ae..d891119 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.15 +Version: 5.7.16 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -947,6 +947,10 @@ fi %endif %changelog +* Tue Oct 18 2016 Norvald H. Ryeng - 5.7.16-1 +- Update to MySQL 5.7.16, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html + * Tue Sep 06 2016 Norvald H. Ryeng - 5.7.15-1 - Update to MySQL 5.7.15, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-15.html diff --git a/sources b/sources index 858508c..841acf8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -21112d90f83987e731cb0ea02cd5f517 mysql-boost-5.7.15.tar.gz +f7724b816919878760b5c7c9956e6508 mysql-boost-5.7.16.tar.gz From ff1ca8592cb02730699a20b2de131a7da35b092e Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 12 Dec 2016 11:01:57 +0100 Subject: [PATCH 133/274] Update to MySQL 5.7.17. --- community-mysql.spec | 33 ++++++++++++++++++++++++++++++--- sources | 2 +- 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index d891119..326a883 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.16 +Version: 5.7.17 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases @@ -137,7 +137,14 @@ BuildRequires: libedit-devel BuildRequires: libevent-devel BuildRequires: lz4-devel BuildRequires: mecab-devel +%ifnarch aarch64 %{arm} s390 s390x +BuildRequires: numactl-devel +%endif +%if 0%{?fedora} < 26 BuildRequires: openssl-devel +%else +BuildRequires: compat-openssl10-devel +%endif BuildRequires: perl %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-generators @@ -297,7 +304,8 @@ the MySQL server and some accompanying files and directories. Summary: Files for development of MySQL applications Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -Requires: openssl-devel%{?_isa} +Requires: pkgconfig(openssl) +Requires: zlib-devel %{?with_conflicts:Conflicts: mariadb-devel} %description devel @@ -329,6 +337,10 @@ Summary: Development files for MySQL as an embeddable library Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} +Requires: libaio-devel +Requires: lz4-devel +Requires: pkgconfig(openssl) +Requires: zlib-devel %{?with_conflicts:Conflicts: mariadb-embedded-devel} %description embedded-devel @@ -409,6 +421,8 @@ touch %{skiplist} add_test main.xa_prepared_binlog_off : unstable test add_test binlog.binlog_xa_prepared_disconnect : unstable test add_test innodb.table_encrypt_kill : unstable test +add_test perfschema.memory_aggregate_no_a_no_u_no_h : unstable test +add_test main.mysqlpump_basic : unstable test # these tests fail in 5.7.14 on arm32 %ifarch %arm @@ -495,6 +509,9 @@ cmake .. \ -DSYSTEMD_PID_DIR="%{pidfiledir}" \ %endif -DWITH_INNODB_MEMCACHED=ON \ +%ifnarch aarch64 %{arm} s390 s390x + -DWITH_NUMA=ON \ +%endif -DWITH_EMBEDDED_SERVER=ON \ -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ @@ -503,7 +520,7 @@ cmake .. \ -DWITH_MECAB=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ - -DWITH_BOOST=../boost/boost_1_59_0 \ + -DWITH_BOOST=../boost \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ @@ -947,6 +964,16 @@ fi %endif %changelog +* Mon Dec 12 2016 Norvald H. Ryeng - 5.7.17-1 +- Update to MySQL 5.7.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html +- Add new plugin: connnection_control.so +- Add MySQL Group Replication: group_replication.so +- Add numactl-devel to buildreq and enable NUMA support (if available) +- Simplify boost path +- Build compat-openssl10 in rawhide for now +- Reqs. in -devel packages was incomplete + * Tue Oct 18 2016 Norvald H. Ryeng - 5.7.16-1 - Update to MySQL 5.7.16, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-16.html diff --git a/sources b/sources index 841acf8..ebe91d5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f7724b816919878760b5c7c9956e6508 mysql-boost-5.7.16.tar.gz +SHA512 (mysql-boost-5.7.17.tar.gz) = a1512abeba307fd21687677d2ee4bf20ced373312824de034e9b340d97e67eb4fcc5caa4ad7d9f58d6c0ddf57f6f6c0b0978e7b01c46f397ac661da843e3dfa6 From a5b2635364fe34566c492ecaf6dc69882c5031cd Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Thu, 5 Jan 2017 09:38:18 +0100 Subject: [PATCH 134/274] Fix test that used a hardcoded date (2017-01-01). --- community-mysql-events2-2017.patch | 36 ++++++++++++++++++++++++++++++ community-mysql.spec | 7 +++++- 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 community-mysql-events2-2017.patch diff --git a/community-mysql-events2-2017.patch b/community-mysql-events2-2017.patch new file mode 100644 index 0000000..2dc1187 --- /dev/null +++ b/community-mysql-events2-2017.patch @@ -0,0 +1,36 @@ +commit cdad2b3a25506e7814c9eece71f575ac54249058 +Author: Horst Hunger +Date: Tue Jan 3 09:06:19 2017 +0100 + + Bug#25335897: Modified the year of the date value from 2017 to 2037 in first event. + +diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result +index 66ec00d..31a501d 100644 +--- a/mysql-test/r/events_2.result ++++ b/mysql-test/r/events_2.result +@@ -1,10 +1,10 @@ + drop database if exists events_test; + create database events_test; + use events_test; +-create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; ++create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; + select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; + db name body definer convert_tz(execute_at, 'UTC', 'SYSTEM') on_completion +-events_test e_26 set @a = 5 root@localhost 2017-01-01 00:00:00 DROP ++events_test e_26 set @a = 5 root@localhost 2037-01-01 00:00:00 DROP + drop event e_26; + create event e_26 on schedule at NULL disable do set @a = 5; + ERROR HY000: Incorrect AT value: 'NULL' +diff --git a/mysql-test/t/events_2.test b/mysql-test/t/events_2.test +index 3d60965..d90ec10 100644 +--- a/mysql-test/t/events_2.test ++++ b/mysql-test/t/events_2.test +@@ -13,7 +13,7 @@ use events_test; + # mysql.event intact checking end + # + +-create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; ++create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; + select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; + drop event e_26; + --error ER_WRONG_VALUE diff --git a/community-mysql.spec b/community-mysql.spec index 326a883..c050016 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.17 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,6 +120,7 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-events2-2017.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -393,6 +394,7 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 +%patch53 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -964,6 +966,9 @@ fi %endif %changelog +* Wed Jan 04 2017 Norvald H. Ryeng - 5.7.17-2 +- Fix test that used a hardcoded date (2017-01-01) + * Mon Dec 12 2016 Norvald H. Ryeng - 5.7.17-1 - Update to MySQL 5.7.17, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-17.html From fddd774f2c827be34e2ab4b2187442644b12310b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 07:46:10 +0000 Subject: [PATCH 135/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c050016..469253c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.17 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -966,6 +966,9 @@ fi %endif %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Wed Jan 04 2017 Norvald H. Ryeng - 5.7.17-2 - Fix test that used a hardcoded date (2017-01-01) From edace6bcbd71fca173e787495939ba97811102bb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 15 Feb 2017 16:55:40 +0100 Subject: [PATCH 136/274] Fix of broken cross mysql-mariadb dependecies Fix of community-mysql server-client dependecy --- community-mysql.spec | 64 +++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 469253c..daec4aa 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.17 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -173,9 +173,9 @@ BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) %{?with_init_systemd:BuildRequires: systemd} -Requires: bash -Requires: fileutils -Requires: grep + + +Requires: bash fileutils grep Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -217,7 +217,7 @@ Provides: mysql-libs%{?_isa} = %{sameevr} %endif %description libs -The mysql-libs package provides the essential shared libraries for any +The mysql-libs package provides the essential shared libraries for any MySQL client program or interface. You will need to install this package to use any other MySQL package or any clients that need to connect to a MySQL server. @@ -267,7 +267,10 @@ MySQL packages. Summary: The MySQL server and related files Group: Applications/Databases -Requires: %{name}%{?_isa} = %{sameevr} +# Require any mysql client, but prefer community-mysql client for community-mysql server +Suggests: %{name}%{?_isa} = %{sameevr} +Requires: mysql%{?_isa} + Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d @@ -292,6 +295,8 @@ Obsoletes: mysql-bench%{?_isa} Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} +# A dependency mistake was made, to fix it, old version of the utils must be Obsoleted. Affected versions: F24, F25, F26 until their EOL. +Obsoletes: mariadb-server-utils < 3:10.1.21-3 %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -849,7 +854,6 @@ fi %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%{_bindir}/mysqlbinlog %if %{with init_systemd} %{_bindir}/mysqld_pre_systemd %else @@ -966,6 +970,10 @@ fi %endif %changelog +* Wed Feb 15 2017 Michal Schorm - 5.7.17-4 +- Fix of broken cross mysql-mariadb dependecies +- Fix of community-mysql server-client dependecy + * Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild @@ -1182,7 +1190,7 @@ fi - outfile_loaddata resolved on all archs - Solaris files not installed, no need to remove - Simplify multilib install -- Use install's -D option some places +- Use install's -D option some places - Add explicit conflict with mariadb-galera-server * Sat Jun 07 2014 Fedora Release Engineering - 5.6.17-3 @@ -2113,7 +2121,7 @@ Resolves: #199368 pinging mysql server (#108779) * Mon Oct 27 2003 Kim Ho 3.23.58-4 -- update mysql.init to wait (max 10 seconds) for mysql server to +- update mysql.init to wait (max 10 seconds) for mysql server to start (#58732) * Mon Oct 27 2003 Patrick Macdonald 3.23.58-3 @@ -2130,7 +2138,7 @@ Resolves: #199368 - rebuilt * Wed Jul 02 2003 Patrick Macdonald 3.23.57-1 -- revert to prior version of MySQL due to license incompatibilities +- revert to prior version of MySQL due to license incompatibilities with packages that link against the client. The MySQL folks are looking into the issue. @@ -2141,18 +2149,18 @@ Resolves: #199368 - rebuilt * Thu May 29 2003 Patrick Macdonald 4.0.13-2 -- fix filter-requires-mysql.sh with less restrictive for mysql-bench +- fix filter-requires-mysql.sh with less restrictive for mysql-bench * Wed May 28 2003 Patrick Macdonald 4.0.13-1 - update for MySQL 4.0 - back-level shared libraries available in mysqlclient10 package * Fri May 09 2003 Patrick Macdonald 3.23.56-2 -- add sql-bench package (#90110) +- add sql-bench package (#90110) * Wed Mar 19 2003 Patrick Macdonald 3.23.56-1 - upgrade to 3.23.56 for security fixes -- remove patch for double-free (included in 3.23.56) +- remove patch for double-free (included in 3.23.56) * Tue Feb 18 2003 Patrick Macdonald 3.23.54a-11 - enable thread safe client @@ -2210,11 +2218,11 @@ Resolves: #199368 - rebuild * Thu Jul 18 2002 Trond Eivind Glomsrd 3.23.51-3 -- Fix #63543 and #63542 +- Fix #63543 and #63542 * Thu Jul 11 2002 Trond Eivind Glomsrd 3.23.51-2 - Turn off bdb on PPC(#68591) -- Turn off the assembly optimizations, for safety. +- Turn off the assembly optimizations, for safety. * Wed Jun 26 2002 Trond Eivind Glomsrd 3.23.51-1 - Work around annoying auto* thinking this is a crosscompile @@ -2256,12 +2264,12 @@ Resolves: #199368 - 3.23.48 * Thu Jan 17 2002 Trond Eivind Glomsrd 3.23.47-4 -- Use kill, not mysqladmin, to flush logs and shut down. Thus, +- Use kill, not mysqladmin, to flush logs and shut down. Thus, an admin password can be set with no problems. - Remove reload from init script * Wed Jan 16 2002 Trond Eivind Glomsrd 3.23.47-3 -- remove db3-devel from buildrequires, +- remove db3-devel from buildrequires, MySQL has had its own bundled copy since the mid thirties * Sun Jan 6 2002 Trond Eivind Glomsrd 3.23.47-1 @@ -2270,7 +2278,7 @@ Resolves: #199368 * Mon Dec 3 2001 Trond Eivind Glomsrd 3.23.46-1 - 3.23.46 -- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. +- use -fno-rtti and -fno-exceptions, and set CXX to increase stability. Recommended by mysql developers. * Sun Nov 25 2001 Trond Eivind Glomsrd 3.23.45-1 @@ -2292,7 +2300,7 @@ Resolves: #199368 * Tue Aug 14 2001 Trond Eivind Glomsrd 3.23.41-1 - 3.23.41 bugfix release - disable innodb, to avoid the broken updates -- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate +- Use "mysqladmin flush_logs" instead of kill -HUP in logrotate script (#51711) * Sat Jul 21 2001 Trond Eivind Glomsrd @@ -2341,7 +2349,7 @@ Resolves: #199368 - small i18n-fixes to initscript (action needs $) * Tue Jan 30 2001 Trond Eivind Glomsrd -- make it shut down and rotate logs without using mysqladmin +- make it shut down and rotate logs without using mysqladmin (from #24909) * Mon Jan 29 2001 Trond Eivind Glomsrd @@ -2366,14 +2374,14 @@ Resolves: #199368 - as above in logrotate script - changes to the init sequence - put most of the data in /etc/my.cnf instead of hardcoding in the init script -- use /var/run/mysqld/mysqld.pid instead of +- use /var/run/mysqld/mysqld.pid instead of /var/run/mysqld/pid - use standard safe_mysqld - shut down cleaner * Mon Jan 08 2001 Trond Eivind Glomsrd - 3.23.30 -- do an explicit chmod on /var/lib/mysql in post, to avoid +- do an explicit chmod on /var/lib/mysql in post, to avoid any problems with broken permissons. There is a report of rm not changing this on its own (#22989) @@ -2422,7 +2430,7 @@ Resolves: #199368 instead of tempnam(). - revert changes made yesterday, the problem is now isolated - + * Tue Oct 17 2000 Trond Eivind Glomsrd - use the compat C++ compiler FTTB. Argh. - add requirement of ncurses4 (see above) @@ -2439,8 +2447,8 @@ Resolves: #199368 - rename config file to /etc/my.cnf, which is what mysqld wants... doh. (#17432) - include a changed safe_mysqld, so the pid file option - works. -- make mysql dir world readable to they can access the + works. +- make mysql dir world readable to they can access the mysql socket. (#17432) - 3.23.24 @@ -2451,7 +2459,7 @@ Resolves: #199368 - Add "|| :" to condrestart to avoid non-zero exit code * Thu Aug 24 2000 Trond Eivind Glomsrd -- it's mysql.com, not mysql.org and use correct path to +- it's mysql.com, not mysql.org and use correct path to source (#16830) * Wed Aug 16 2000 Trond Eivind Glomsrd @@ -2488,8 +2496,8 @@ Resolves: #199368 - more cleanups in initscript * Thu Jul 13 2000 Trond Eivind Glomsrd -- add a patch to work around compiler bug - (from monty@mysql.com) +- add a patch to work around compiler bug + (from monty@mysql.com) * Wed Jul 12 2000 Trond Eivind Glomsrd - don't build the SQL daemon statically (glibc problems) From 55aff2cc79a36c79c0465897e09879c5bdf588c6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 7 Mar 2017 10:13:01 +0100 Subject: [PATCH 137/274] Testsuite retry count lifted to 3 tries --- community-mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index daec4aa..79b83e8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -695,7 +695,7 @@ cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ - --mem --parallel=auto --force --retry=0 \ + --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ --clean-vardir \ @@ -973,6 +973,7 @@ fi * Wed Feb 15 2017 Michal Schorm - 5.7.17-4 - Fix of broken cross mysql-mariadb dependecies - Fix of community-mysql server-client dependecy +- Testsuite retry count lifted to 3 tries * Fri Feb 10 2017 Fedora Release Engineering - 5.7.17-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild From ef8535fd0d225199193857fce9d931beb655bb9f Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 3 Apr 2017 10:03:43 +0200 Subject: [PATCH 138/274] Update to MySQL 5.7.18 --- community-mysql-events2-2017.patch | 36 ------------------------------ community-mysql.spec | 13 ++++++----- 2 files changed, 8 insertions(+), 41 deletions(-) delete mode 100644 community-mysql-events2-2017.patch diff --git a/community-mysql-events2-2017.patch b/community-mysql-events2-2017.patch deleted file mode 100644 index 2dc1187..0000000 --- a/community-mysql-events2-2017.patch +++ /dev/null @@ -1,36 +0,0 @@ -commit cdad2b3a25506e7814c9eece71f575ac54249058 -Author: Horst Hunger -Date: Tue Jan 3 09:06:19 2017 +0100 - - Bug#25335897: Modified the year of the date value from 2017 to 2037 in first event. - -diff --git a/mysql-test/r/events_2.result b/mysql-test/r/events_2.result -index 66ec00d..31a501d 100644 ---- a/mysql-test/r/events_2.result -+++ b/mysql-test/r/events_2.result -@@ -1,10 +1,10 @@ - drop database if exists events_test; - create database events_test; - use events_test; --create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; -+create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; - select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; - db name body definer convert_tz(execute_at, 'UTC', 'SYSTEM') on_completion --events_test e_26 set @a = 5 root@localhost 2017-01-01 00:00:00 DROP -+events_test e_26 set @a = 5 root@localhost 2037-01-01 00:00:00 DROP - drop event e_26; - create event e_26 on schedule at NULL disable do set @a = 5; - ERROR HY000: Incorrect AT value: 'NULL' -diff --git a/mysql-test/t/events_2.test b/mysql-test/t/events_2.test -index 3d60965..d90ec10 100644 ---- a/mysql-test/t/events_2.test -+++ b/mysql-test/t/events_2.test -@@ -13,7 +13,7 @@ use events_test; - # mysql.event intact checking end - # - --create event e_26 on schedule at '2017-01-01 00:00:00' disable do set @a = 5; -+create event e_26 on schedule at '2037-01-01 00:00:00' disable do set @a = 5; - select db, name, body, definer, convert_tz(execute_at, 'UTC', 'SYSTEM'), on_completion from mysql.event; - drop event e_26; - --error ER_WRONG_VALUE diff --git a/community-mysql.spec b/community-mysql.spec index 79b83e8..f68156e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.17 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.7.18 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,7 +120,6 @@ Patch6: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-events2-2017.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch # Patches taken from boost 1.59 @@ -399,7 +398,6 @@ the MySQL sources. %patch6 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 %if %{with_shared_lib_major_hack} %patch70 -p1 %endif @@ -915,7 +913,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}/my-*.cnf %{_datadir}/%{pkg_name}/uninstall_rewriter.sql %{daemondir}/%{daemon_name}* @@ -970,6 +967,12 @@ fi %endif %changelog +* Mon Apr 03 2017 Norvald H. Ryeng - 5.7.18-1 +- Update to MySQL 5.7.18, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html +- Remove patch for test fix now upstream +- Sample my-*.cnf is gone + * Wed Feb 15 2017 Michal Schorm - 5.7.17-4 - Fix of broken cross mysql-mariadb dependecies - Fix of community-mysql server-client dependecy From 1d6166c6a78bd8d483fd954aa2bee6521bf80a75 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 19 Apr 2017 13:36:07 +0200 Subject: [PATCH 139/274] 'force' option for 'rm' removed in specfile --- community-mysql.spec | 69 ++++++++++++++++++++++++-------------------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f68156e..ef61d9b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.18 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -571,7 +571,7 @@ install -D -p -m 0644 scripts/my.cnf %{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}/%{daemon_name}.conf -rm -rf %{buildroot}%{_tmpfilesdir}/mysql.conf +rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf %endif # install SysV init script @@ -594,14 +594,14 @@ mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{build ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process # not needed in rpm package -rm -f %{buildroot}%{_bindir}/mysql_embedded -rm -f %{buildroot}%{_libdir}/mysql/*.a -rm -f %{buildroot}%{_datadir}/%{pkg_name}/magic -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm -f %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server -rm -f %{buildroot}%{_mandir}/man1/comp_err.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm -f %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* +rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a +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/comp_err.1* +rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* +rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -632,30 +632,30 @@ cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so -rm -rf %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* -rm -rf %{buildroot}%{_sysconfdir}/ld.so.conf.d +rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* +rm -r %{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* +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/mysqlclient.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/mysqlclient.pc +rm %{buildroot}%{_libdir}/mysql/libmysqlclient*.so +rm %{buildroot}%{_mandir}/man1/mysql_config.1* %endif %if %{without client} -rm -f %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ +rm %{buildroot}%{_bindir}/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults} -rm -f %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ +rm %{buildroot}%{_mandir}/man1/{mysql,mysql_config_editor,\ mysql_plugin,mysqladmin,mysqlbinlog,\ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults}.1* %endif @@ -663,24 +663,24 @@ mysqlcheck,mysqldump,mysqlpump,mysqlimport,mysqlshow,mysqlslap,my_print_defaults %if %{with config} mkdir -p %{buildroot}%{_sysconfdir}/my.cnf.d %else -rm -f %{buildroot}%{_sysconfdir}/my.cnf +#rm %{buildroot}%{_sysconfdir}/my.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,bulgarian,czech,danish,dutch,estonian,\ +rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,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 test} -rm -f %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} -rm -rf %{buildroot}%{_datadir}/mysql-test -rm -f %{buildroot}%{_mandir}/man1/mysql_client_test.1* +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} +rm -r %{buildroot}%{_datadir}/mysql-test +rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -702,7 +702,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} %else --skip-test-list=%{skiplist} %endif - rm -rf var/* $(readlink var) + rm -r var $(readlink var) popd popd %endif @@ -967,6 +967,13 @@ fi %endif %changelog +* Wed Apr 19 2017 Michal Schorm - 5.7.18-2 +- 'force' option for 'rm' removed in specfile +- CVEs fixed by previous commit, #1443407: + CVE-2017-3308 CVE-2017-3309 CVE-2017-3329 CVE-2017-3450 + CVE-2017-3453 CVE-2017-3456 CVE-2017-3461 CVE-2017-3462 + CVE-2017-3463 CVE-2017-3464 CVE-2017-3599 CVE-2017-3600 + * Mon Apr 03 2017 Norvald H. Ryeng - 5.7.18-1 - Update to MySQL 5.7.18, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-18.html From a7a2f705c0b4c9efe8edab261c5f5dc4e296e694 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 19 Apr 2017 18:44:16 +0200 Subject: [PATCH 140/274] new-sources mysql-boost-5.7.18.tar.gz --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index ebe91d5..a59e9cc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.17.tar.gz) = a1512abeba307fd21687677d2ee4bf20ced373312824de034e9b340d97e67eb4fcc5caa4ad7d9f58d6c0ddf57f6f6c0b0978e7b01c46f397ac661da843e3dfa6 +SHA512 (mysql-boost-5.7.18.tar.gz) = bee9cc0e3cf889f7514ef1b70a6ee38be7b110d91cd0bf687b62b32483445e37a80e6dba348c52d69a90aa68c5eb4bea709fc9f2cea853dfe94aeffb09feb251 From d8ac7a4892ed563e6fc86d64e00307f5bd929299 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 15 May 2017 21:04:49 +0000 Subject: [PATCH 141/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ef61d9b..ac6b2a1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.18 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -967,6 +967,9 @@ fi %endif %changelog +* Mon May 15 2017 Fedora Release Engineering - 5.7.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild + * Wed Apr 19 2017 Michal Schorm - 5.7.18-2 - 'force' option for 'rm' removed in specfile - CVEs fixed by previous commit, #1443407: From 3e9e8cd9f98473247bbb4e8f797eab3d3870cce5 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Fri, 7 Jul 2017 12:14:39 +0200 Subject: [PATCH 142/274] Rebuild due to bug in RPM (RHBZ #1468476) Signed-off-by: Igor Gnatenko --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ac6b2a1..62ae834 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 5.7.18 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -967,6 +967,9 @@ fi %endif %changelog +* Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 +- Rebuild due to bug in RPM (RHBZ #1468476) + * Mon May 15 2017 Fedora Release Engineering - 5.7.18-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild From eccdc6a287a6811252531a5dc27818916f730eb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Wed, 12 Jul 2017 14:50:15 +0200 Subject: [PATCH 143/274] perl dependency renamed to perl-interpreter --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 62ae834..997782e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -145,7 +145,7 @@ BuildRequires: openssl-devel %else BuildRequires: compat-openssl10-devel %endif -BuildRequires: perl +BuildRequires: perl-interpreter %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-generators %endif From 42d1733982e64c8e3ff1555017ee3e44531c3e0d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Jul 2017 15:10:47 +0200 Subject: [PATCH 144/274] Move perl-interpreter dependency to the condition so it only is required on Fedora --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 997782e..387f61c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -145,8 +145,8 @@ BuildRequires: openssl-devel %else BuildRequires: compat-openssl10-devel %endif -BuildRequires: perl-interpreter %if 0%{?fedora} > 24 || 0%{?rhel} > 7 +BuildRequires: perl-interpreter BuildRequires: perl-generators %endif BuildRequires: systemtap-sdt-devel From 77ff3a5e4005b31d6b73ae07ecea8b24568c6636 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 12 Jul 2017 11:06:32 +0200 Subject: [PATCH 145/274] Update to MySQL 5.7.19 --- community-mysql.spec | 16 +++++++++++++--- sources | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 387f61c..3a7d943 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -57,7 +57,11 @@ %global daemon_no_prefix mysqld # Directory for storing pid file +%if 0%{?rhel} == 6 %global pidfiledir %{_localstatedir}/run/%{daemon_name} +%else +%global pidfiledir %{_rundir}/%{daemon_name} +%endif # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -79,8 +83,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.18 -Release: 4%{?with_debug:.debug}%{?dist} +Version: 5.7.19 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -696,7 +700,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed --skip-rpl \ --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir \ + --report-unstable-tests --clean-vardir \ %if %{check_testsuite} --max-test-fail=0 || : %else @@ -967,6 +971,12 @@ fi %endif %changelog +* Wed Jul 12 2017 Norvald H. Ryeng - 5.7.19-1 +- Update to MySQL 5.7.19, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html +- Use new --report-unstable-tests to handle unstable tests +- Prefer /run over /var/run (#1462688) + * Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 - Rebuild due to bug in RPM (RHBZ #1468476) diff --git a/sources b/sources index a59e9cc..485abd6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.18.tar.gz) = bee9cc0e3cf889f7514ef1b70a6ee38be7b110d91cd0bf687b62b32483445e37a80e6dba348c52d69a90aa68c5eb4bea709fc9f2cea853dfe94aeffb09feb251 +SHA512 (mysql-boost-5.7.19.tar.gz) = 4f51be587c5aeb829152ba856b13b800d4f70e538e6f2f484e73d3fa249b90a6ecb27ffd41a8554ad0ed6192a69045e7949102b8248e722da63bd4ee631e395c From 7190edc6eafad0e27e3e2ca6d3f93ad60c69b8c7 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 25 Jul 2017 15:08:13 +0200 Subject: [PATCH 146/274] Replication tests in the testsuite enabled, they don't fail anymore Retry count in the testsuite dropped to 0 Changelog entry for the last commit extended: Resolves: #1462688; /run #1406172; random failures of the testsuite #1417880, #1417883, #1417885, #1417887, #1417890, #1417891, #1417893, #1417894, #1417896; replication tests CVE fixes: #1472716 CVE-2017-3633, CVE-2017-3634, CVE-2017-3635, CVE-2017-3641, CVE-2017-3647 CVE-2017-3648, CVE-2017-3649, CVE-2017-3651, CVE-2017-3652, CVE-2017-3653 --- community-mysql.spec | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3a7d943..0f6c541 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -24,7 +24,7 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch -%global skiplist platform-specific-tests.list +%global skiplist platform-specific-tests.list # For some use cases we do not need some parts of the package %bcond_without clibrary @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -697,8 +697,8 @@ cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ - --mem --parallel=auto --force --retry=2 \ - --mysqld=--binlog-format=mixed --skip-rpl \ + --mem --parallel=auto --force --retry=0 \ + --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} @@ -971,11 +971,22 @@ fi %endif %changelog +* Wed Jul 25 2017 Michal Schorm - 5.7.19-2 +- Replication tests in the testsuite enabled, they don't fail anymore +- Retry count in the testsuite dropped to 0 + * Wed Jul 12 2017 Norvald H. Ryeng - 5.7.19-1 - Update to MySQL 5.7.19, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-19.html - Use new --report-unstable-tests to handle unstable tests - Prefer /run over /var/run (#1462688) +- Resolves: #1462688; /run + #1406172; random failures of the testsuite + #1417880, #1417883, #1417885, #1417887, #1417890, #1417891, #1417893, + #1417894, #1417896; replication tests +- CVE fixes: #1472716 + CVE-2017-3633, CVE-2017-3634, CVE-2017-3635, CVE-2017-3641, CVE-2017-3647 + CVE-2017-3648, CVE-2017-3649, CVE-2017-3651, CVE-2017-3652, CVE-2017-3653 * Fri Jul 07 2017 Igor Gnatenko - 5.7.18-4 - Rebuild due to bug in RPM (RHBZ #1468476) From 96f4391b18a81a9efc21f8c17745fea4b7c41271 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 05:16:55 +0000 Subject: [PATCH 147/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0f6c541..cb33d7b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -971,6 +971,9 @@ fi %endif %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Wed Jul 25 2017 Michal Schorm - 5.7.19-2 - Replication tests in the testsuite enabled, they don't fail anymore - Retry count in the testsuite dropped to 0 From db61b0f7ec7795f3eafff2a07f8f6bd91edd22d5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 19:03:31 +0000 Subject: [PATCH 148/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index cb33d7b..010746c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -971,6 +971,9 @@ fi %endif %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 87ebae8cabae1f2b5d992fde3228b4491d81298e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 17:53:42 +0200 Subject: [PATCH 149/274] Allow to use MD5 in FIPS mode Related: #1449689 --- community-mysql-md5_fips.patch | 50 ++++++++++++++++++++++++++++++++++ community-mysql.spec | 8 +++++- 2 files changed, 57 insertions(+), 1 deletion(-) create mode 100644 community-mysql-md5_fips.patch diff --git a/community-mysql-md5_fips.patch b/community-mysql-md5_fips.patch new file mode 100644 index 0000000..4c2ad54 --- /dev/null +++ b/community-mysql-md5_fips.patch @@ -0,0 +1,50 @@ +Added to address RHBZ#1449689 + +Original patch notes from follows: + +... + +In FIPS mode there is no md5 by default, unless declared it is specifically +allowed. MD5 is used for non-crypto related things in MySQL (digests related +to performance schema and table list), so it is ok to use MD5 there. + +However, there is also MD5() SQL function, that should still keep working, +but users should know they should avoid using it in FIPS mode. + +RHBZ: #1351791 + +Upstream bug reports: +http://bugs.mysql.com/bug.php?id=83696 +https://jira.mariadb.org/browse/MDEV-7788 + + +diff -Naurp mysql-5.7.18_original/mysys_ssl/my_md5.cc mysql-5.7.18_patched/mysys_ssl/my_md5.cc +--- mysql-5.7.18_original/mysys_ssl/my_md5.cc 2017-03-18 08:45:14.000000000 +0100 ++++ mysql-5.7.18_patched/mysys_ssl/my_md5.cc 2017-05-12 12:19:38.584814619 +0200 +@@ -38,13 +38,22 @@ static void my_md5_hash(char *digest, co + + #elif defined(HAVE_OPENSSL) + #include ++#include + + static void my_md5_hash(unsigned char* digest, unsigned const char *buf, int len) + { +- MD5_CTX ctx; +- MD5_Init (&ctx); +- MD5_Update (&ctx, buf, len); +- MD5_Final (digest, &ctx); ++ EVP_MD_CTX *ctx; ++ ctx = EVP_MD_CTX_create(); ++ ++ #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW ++ /* we will be using MD5, which is not allowed under FIPS */ ++ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); ++ #endif ++ ++ EVP_DigestInit_ex(ctx, EVP_md5(), NULL); ++ EVP_DigestUpdate(ctx, buf, len); ++ EVP_DigestFinal_ex(ctx, digest, NULL); ++ EVP_MD_CTX_destroy(ctx); + } + + #endif /* HAVE_YASSL */ diff --git a/community-mysql.spec b/community-mysql.spec index 010746c..cc4ca23 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -120,6 +120,7 @@ Patch3: %{pkgnamepatch}-logrotate.patch Patch4: %{pkgnamepatch}-file-contents.patch Patch5: %{pkgnamepatch}-scripts.patch Patch6: %{pkgnamepatch}-paths.patch +Patch7: %{pkgnamepatch}-md5_fips.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -400,6 +401,7 @@ the MySQL sources. %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 %patch51 -p1 %patch52 -p1 %if %{with_shared_lib_major_hack} @@ -971,6 +973,10 @@ fi %endif %changelog +* Fri Aug 04 2017 Honza Horak - 5.7.19-5 +- Allow to use MD5 in FIPS mode + Related: #1449689 + * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild From dd8b0ea73050c32dc165f2cea4c8170f82630d6a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 18:08:50 +0200 Subject: [PATCH 150/274] Remove snippets from mysql-preparep-db-dir.sh that could have security impact Related: CVE-2017-3312 --- community-mysql.spec | 2 ++ mysql-prepare-db-dir.sh | 77 ++++++++++++++++++++++++++--------------- 2 files changed, 52 insertions(+), 27 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cc4ca23..e2df280 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -976,6 +976,8 @@ fi * Fri Aug 04 2017 Honza Horak - 5.7.19-5 - Allow to use MD5 in FIPS mode Related: #1449689 +- Remove snippets from mysql-preparep-db-dir.sh that could have security impact + Related: CVE-2017-3312 * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 6b1b5f1..46cf636 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -2,6 +2,16 @@ # This script creates the mysql data directory during first service start. # In subsequent starts, it does nothing much. +# +# This script is meant to be run as non-root user either during initscript +# or systemd service execution, before starting the mysqld daemon. +# Running it as root may have some security risks, because it touches files +# that can be symlinks pointing to unexpected locations. +# +# On the other hand, when using non-standard locations for datadir and logfile, +# this script might not be able to create the files and the daemon won't start +# properly. A solution for that is to created the locations for datadir and +# logfile with correct ownership before starting the daemon. source "`dirname ${BASH_SOURCE[0]}`/mysql-scripts-common" @@ -36,36 +46,51 @@ 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 [ ! -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" + + +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 +list_datadir () +{ + ( 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 () +{ + test -z "$(list_datadir "$1")" +} + +# Make the data directory if doesn't exist or empty +if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" @@ -82,8 +107,6 @@ if [ ! -d "$datadir/mysql" ] ; then fi # upgrade does not need to be run on a fresh datadir echo "@VERSION@" >"$datadir/mysql_upgrade_info" - # In case we're running as root, make sure files are owned properly - chown -R "$myuser:$mygroup" "$datadir" fi exit 0 From 435e717ad0ea73e3c4af48dbd0b3b6cc495aef82 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 18:10:30 +0200 Subject: [PATCH 151/274] Do not run parts of SysV init script as root if possible --- community-mysql.spec | 1 + mysql.init.in | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index e2df280..2b65fe5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -977,6 +977,7 @@ fi - Allow to use MD5 in FIPS mode Related: #1449689 - Remove snippets from mysql-preparep-db-dir.sh that could have security impact + Do not run parts of SysV init script as root if possible Related: CVE-2017-3312 * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 diff --git a/mysql.init.in b/mysql.init.in index e9a34c2..983e50d 100644 --- a/mysql.init.in +++ b/mysql.init.in @@ -71,8 +71,8 @@ start(){ action $"Starting $prog: " /bin/true ret=0 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 @@ -81,13 +81,13 @@ 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=$! # Wait until the daemon is up - @libexecdir@/mysql-wait-ready "$safe_pid" + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" ret=$? if [ $ret -eq 0 ]; then From bd721273efa976e148f2f981d5e9157c1f8f9703 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 31 Jul 2017 18:16:50 +0200 Subject: [PATCH 152/274] Include mysqld@.service file and do not run start scripts in the unit file as root --- community-mysql-scripts.patch | 3 +- community-mysql.spec | 7 +++-- mysql.service.in | 6 ++-- mysql@.service.in | 58 +++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 mysql@.service.in diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index db6c70b..b1095ff 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt --- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 +++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 -@@ -483,6 +483,34 @@ ELSE() +@@ -483,6 +483,35 @@ ELSE() PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() @@ -10,6 +10,7 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists + SET(SYSTEMD_SCRIPTS + mysql.tmpfiles.d + mysql.service ++ mysql@.service + mysql-prepare-db-dir + mysql-wait-ready + mysql-wait-stop diff --git a/community-mysql.spec b/community-mysql.spec index 2b65fe5..3da0661 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -106,6 +106,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 # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc @@ -468,7 +469,7 @@ add_test innodb.innodb : missing correct value popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE19} %{SOURCE31} scripts + %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -576,6 +577,7 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.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 +install -D -p -m 644 scripts/mysql@.service %{buildroot}%{_unitdir}/%{daemon_name}@.service install -D -p -m 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf %endif @@ -979,6 +981,7 @@ fi - Remove snippets from mysql-preparep-db-dir.sh that could have security impact Do not run parts of SysV init script as root if possible Related: CVE-2017-3312 +- Include mysqld@.service file and do not run start scripts in the unit file as root * Wed Aug 02 2017 Fedora Release Engineering - 5.7.19-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild @@ -986,7 +989,7 @@ fi * Wed Jul 26 2017 Fedora Release Engineering - 5.7.19-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild -* Wed Jul 25 2017 Michal Schorm - 5.7.19-2 +* Tue Jul 25 2017 Michal Schorm - 5.7.19-2 - Replication tests in the testsuite enabled, they don't fail anymore - Retry count in the testsuite dropped to 0 diff --git a/mysql.service.in b/mysql.service.in index 32d22c8..256cac2 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -17,6 +17,9 @@ # [Service] # LimitNOFILE=10000 +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true + # 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: @@ -33,9 +36,6 @@ User=mysql Group=mysql PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid -# Execute pre and post scripts as root -PermissionsStartOnly=true - ExecStartPre=@libexecdir@/mysql-check-socket ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, diff --git a/mysql@.service.in b/mysql@.service.in new file mode 100644 index 0000000..0f2d58a --- /dev/null +++ b/mysql@.service.in @@ -0,0 +1,58 @@ +# 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 + +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true + +# 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=@NICE_PROJECT_NAME@ @MAJOR_VERSION@.@MINOR_VERSION@ database server +After=syslog.target +After=network.target + +[Service] +Type=forking +User=mysql +Group=mysql +PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid + +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=@libexecdir@/mysqld --defaults-group-suffix=.%I --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid +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 + +# Place temp files in a secure directory, not /tmp +PrivateTmp=true + +Restart=on-failure + +RestartPreventExitStatus=1 + +[Install] +WantedBy=multi-user.target From d5605e55e6ad18f7bb14587ce7c8c5029332d0cd Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 4 Aug 2017 08:46:38 +0200 Subject: [PATCH 153/274] Update list of failed tests --- community-mysql.spec | 43 +++++++++++++------------------------------ 1 file changed, 13 insertions(+), 30 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3da0661..f0d9038 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -429,41 +429,24 @@ add_test () { touch %{skiplist} -# unstable on all archs -add_test main.xa_prepared_binlog_off : unstable test -add_test binlog.binlog_xa_prepared_disconnect : unstable test -add_test innodb.table_encrypt_kill : unstable test -add_test perfschema.memory_aggregate_no_a_no_u_no_h : unstable test -add_test main.mysqlpump_basic : unstable test - -# these tests fail in 5.7.14 on arm32 +# these tests fail on arm32 %ifarch %arm -# GIS related issue -add_test innodb_gis.1 : arm32 gis issue -add_test innodb_gis.gis : arm32 gis issue -add_test main.gis-precise : arm32 gis issue -add_test main.gis : arm32 gis issue -add_test gis.gis_bugs_crashes : arm32 gis issue -add_test gis.spatial_operators_intersection : arm32 gis issue -add_test gis.spatial_operators_union : arm32 gis issue -add_test gis.spatial_testing_functions_contains : arm32 gis issue -add_test gis.spatial_testing_functions_crosses : arm32 gis issue -add_test gis.spatial_testing_functions_equals : arm32 gis issue -add_test gis.spatial_testing_functions_touches : arm32 gis issue -add_test gis.spatial_testing_functions_within : arm32 gis issue # FTS -add_test innodb_fts.opt : arm32 FTS issue +add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters -add_test perfschema.func_mutex : missing hw on arm32 -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.mdl_func : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 %endif -# this test fail in 5.7.14 on ppc64* and aarch64 -%ifarch ppc64 ppc64le aarch64 -add_test innodb.innodb : missing correct value +# this test fail on ppc64* +%ifarch ppc64 ppc64le +add_test innodb.innodb : missing correct value +add_test perfschema.memory_aggregate_no_a : incorrect numbers in output +%endif + +# test fails on x86_64 +%ifarch x86_64 +add_test main.mysql_upgrade : Result content mismatch %endif popd From 9bd5aaeb84d257ee64c1153f69ca6a8b1f5a88d8 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Tue, 22 Aug 2017 09:19:41 +0200 Subject: [PATCH 154/274] Retry must be 2 or higher to get any effect from --report-unstable-tests --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index f0d9038..3475e2b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -684,7 +684,7 @@ cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} ./mtr \ - --mem --parallel=auto --force --retry=0 \ + --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ From 8ac654b88b1c934c639e3d414560e7cceba48a1e Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 22:51:36 +0200 Subject: [PATCH 155/274] Add bundled(boost) virtual provide --- community-mysql.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3475e2b..f9a9c54 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.19 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -183,6 +183,8 @@ BuildRequires: perl(Time::HiRes) Requires: bash fileutils grep Requires: %{name}-common%{?_isa} = %{sameevr} +Provides: bundled(boost) = 1.59 + %if %{with mysql_names} Provides: mysql = %{sameevr} Provides: mysql%{?_isa} = %{sameevr} @@ -958,6 +960,9 @@ fi %endif %changelog +* Mon Aug 28 2017 Honza Horak - 5.7.19-6 +- Add bundled(boost) virtual provide + * Fri Aug 04 2017 Honza Horak - 5.7.19-5 - Allow to use MD5 in FIPS mode Related: #1449689 From 84ceb88ce754fa5f905748ecd9f0988e16d0d76b Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 23:07:37 +0200 Subject: [PATCH 156/274] Fix white-space issues and macro expanding in mysql.init.in --- mysql.init.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql.init.in b/mysql.init.in index 983e50d..6ae046c 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 @@ -87,8 +87,8 @@ start(){ safe_pid=$! # Wait until the daemon is up - su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" - ret=$? + su - $MYUSER -s /bin/bash -c "@libexecdir@/mysql-wait-ready '$safe_pid'" + ret=$? if [ $ret -eq 0 ]; then action $"Starting $prog: " /bin/true From 7df1bd6b07774c4c64e2ef5fb5fdd11727bcec3d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Mon, 28 Aug 2017 17:07:05 +0200 Subject: [PATCH 157/274] Support --defaults-group-suffix option in systemd unit file Related: #1400702 --- community-mysql.spec | 2 ++ mysql-scripts-common.sh | 12 +++++++++++- mysql@.service.in | 9 ++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f9a9c54..52c3144 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -962,6 +962,8 @@ fi %changelog * Mon Aug 28 2017 Honza Horak - 5.7.19-6 - Add bundled(boost) virtual provide +- Support --defaults-group-suffix option in systemd unit file + Related: #1400702 * Fri Aug 04 2017 Honza Horak - 5.7.19-5 - Allow to use MD5 in FIPS mode diff --git a/mysql-scripts-common.sh b/mysql-scripts-common.sh index 9dab30e..58f0437 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 0f2d58a..aad98f7 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -34,15 +34,14 @@ After=network.target Type=forking User=mysql Group=mysql -PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid -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 # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid -ExecStartPost=@libexecdir@/mysql-check-upgrade -ExecStopPost=@libexecdir@/mysql-wait-stop +ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I +ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I # Give a reasonable amount of time for the server to start up/shut down TimeoutSec=300 From 61b324e26e2030d8bdeea716e78cd166ada77d8d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 30 Aug 2017 15:03:45 +0200 Subject: [PATCH 158/274] Use correct package name for the coreutils packge --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 52c3144..f659279 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -180,7 +180,7 @@ BuildRequires: perl(Time::HiRes) -Requires: bash fileutils grep +Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} Provides: bundled(boost) = 1.59 @@ -283,7 +283,7 @@ Requires: %{_sysconfdir}/my.cnf Requires: %{_sysconfdir}/my.cnf.d Requires: %{name}-errmsg%{?_isa} = %{sameevr} %{?mecab:Requires: mecab-ipadic} -Requires: sh-utils +Requires: coreutils Requires(pre): /usr/sbin/useradd %if %{with init_systemd} # We require this to be present for %%{_tmpfilesdir} From 51a726ceaa5a822781e56b6767ed0d94f8a78503 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 16 Oct 2017 13:11:32 +0200 Subject: [PATCH 159/274] Update to MySQL 5.7.20 CVE fixes: #1503701 CVE-2017-10155 CVE-2017-10227 CVE-2017-10268 CVE-2017-10276 CVE-2017-10279 CVE-2017-10283 CVE-2017-10286 CVE-2017-10294 CVE-2017-10314 CVE-2017-10378 CVE-2017-10379 CVE-2017-10384 Fix owner and perms on log file in post script: #1497694 --- community-mysql.spec | 43 +++++++++++++++++++++++++++++++++---------- sources | 2 +- 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index f659279..1daa0eb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,8 +83,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.19 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 5.7.20 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -548,7 +548,6 @@ install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} -touch %{buildroot}%{logfile} mkdir -p %{buildroot}%{pidfiledir} install -p -m 0755 -d %{buildroot}%{dbdatadir} @@ -723,7 +722,10 @@ if [ $1 = 1 ]; then /sbin/chkconfig --add %{daemon_name} fi %endif -/bin/touch %{logfile} +if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then + install /dev/null -m0640 -omysql -gmysql "%{logfile}" +fi + %preun server %if %{with init_systemd} @@ -852,7 +854,6 @@ fi %{_bindir}/mysqld_safe %endif %{_bindir}/mysqldumpslow -%{_bindir}/mysqltest %{_bindir}/innochecksum %{_bindir}/perror %{_bindir}/replace @@ -884,10 +885,14 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* +%if %{with init_systemd} +%exclude %{_mandir}/man1/mysqld_multi.1* +%exclude %{_mandir}/man1/mysqld_safe.1* +%else %{_mandir}/man1/mysqld_multi.1* %{_mandir}/man1/mysqld_safe.1* +%endif %{_mandir}/man1/mysqlman.1* -%{_mandir}/man1/mysqltest.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/replace.1* @@ -929,6 +934,7 @@ fi %if %{with devel} %files devel %{_bindir}/mysql_config* +%exclude %{_bindir}/mysql_config_editor %{_includedir}/mysql %{_datadir}/aclocal/mysql.m4 %if %{with clibrary} @@ -944,22 +950,39 @@ fi %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* %endif %if %{with test} %files test %{_bindir}/mysql_client_test +%{_bindir}/mysql_client_test_embedded +%{_bindir}/mysqltest +%{_bindir}/mysqltest_embedded %{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_mandir}/man1/mysqltest.1* +%{_mandir}/man1/mysqltest_embedded.1* %{_mandir}/man1/mysql_client_test.1* +%{_mandir}/man1/mysql_client_test_embedded.1* %endif %changelog +* Wed Oct 25 2017 Michal Schorm - 5.7.20-1 +- Fix owner and perms on log file in post script + Related: #1497694 + +* Mon Oct 16 2017 Norvald H. Ryeng - 5.7.20-1 +- Update to MySQL 5.7.20, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-20.html +- Move all test binaries to -test package +- Dont ship unneeded man pages on systemd platforms +- Remove mysql_config_editor from -devel package, shipped in client +- CVE fixes: #1503701 + CVE-2017-10155 CVE-2017-10227 CVE-2017-10268 CVE-2017-10276 CVE-2017-10279 + CVE-2017-10283 CVE-2017-10286 CVE-2017-10294 CVE-2017-10314 CVE-2017-10378 + CVE-2017-10379 CVE-2017-10384 + * Mon Aug 28 2017 Honza Horak - 5.7.19-6 - Add bundled(boost) virtual provide - Support --defaults-group-suffix option in systemd unit file diff --git a/sources b/sources index 485abd6..adb2e3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.19.tar.gz) = 4f51be587c5aeb829152ba856b13b800d4f70e538e6f2f484e73d3fa249b90a6ecb27ffd41a8554ad0ed6192a69045e7949102b8248e722da63bd4ee631e395c +SHA512 (mysql-boost-5.7.20.tar.gz) = 4b80e66ee634d965ea54e815b875150beb19c6bd172d94795d4874df51a93925af48d2cd41cdac5dff1f506ad363418793bcecffa35cd50ee6b8b0d389e54729 From 5c70dc0fd99ef2b1ed9747e7befb2508002ba954 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Mon, 16 Oct 2017 13:11:32 +0200 Subject: [PATCH 160/274] In F>27 stick to upstream library version naming --- community-mysql.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1daa0eb..89cec01 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -11,7 +11,13 @@ %global check_testsuite 0 # set to 1 to enable +%if 0%{?fedora} > 27 +# Deprecate patch 70, because MariaDB renamed its library to libmariadb.so +%global with_shared_lib_major_hack 0 +%else %global with_shared_lib_major_hack 1 +%endif + # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} @@ -84,7 +90,7 @@ Name: community-mysql Version: 5.7.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -968,6 +974,9 @@ fi %endif %changelog +* Tue Nov 28 2017 Michal Schorm - 5.7.20-2 +- In F>27 stick to upstream library version naming + * Wed Oct 25 2017 Michal Schorm - 5.7.20-1 - Fix owner and perms on log file in post script Related: #1497694 From 5bccc9c6ecb3c848ce71281f9d161fc000fbd377 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 8 Dec 2017 15:55:22 +0100 Subject: [PATCH 161/274] Port for OpenSSL 1.1 Change few SSL calls Fix tests that expect some particular ciphers --- community-mysql-openssl11.patch | 517 ++++++++++++++++++++++++++++++++ community-mysql.spec | 14 +- 2 files changed, 525 insertions(+), 6 deletions(-) create mode 100644 community-mysql-openssl11.patch diff --git a/community-mysql-openssl11.patch b/community-mysql-openssl11.patch new file mode 100644 index 0000000..a3c29b7 --- /dev/null +++ b/community-mysql-openssl11.patch @@ -0,0 +1,517 @@ +Add OpenSSL 1.1 compatibility + +Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature. + +Upstream tracker: https://bugs.mysql.com/bug.php?id=83814 + +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100 +@@ -7,7 +7,7 @@ + connection default; + CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd'; + +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';" + + DROP USER u_20693153@localhost; +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100 +@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c + --file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem + + --echo # Ensure that server is ssl enabled +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + #----------------------------------------------------------------------------- + +@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden + + # Using SSL certificates + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + # Using RSA key pair + --echo # Should be able to connect to server using RSA key pair. +@@ -351,7 +351,7 @@ show variables like 'sha256%'; + + --echo # 6.3 : SSL connection + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + + +@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden + + # Using SSL certificates + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + # Using RSA key pair + --echo # Should be able to connect to server using RSA key pair. +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100 +@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is + + --echo # Try to establish SSL connection : This must succeed. + connect (ssl_root_1,localhost,root,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + SHOW VARIABLES LIKE 'have_ssl'; + +@@ -68,7 +68,7 @@ connection default; + disconnect ssl_root_1; + + --echo # Connect using mysql client : This must succeed. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" + + +@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is + --source include/search_pattern_in_file.inc + + --echo # Try creating SSL connection +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" + + +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100 +@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA; + let $tls_default= TLSv1.1; + let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); + if ($openssl == 'Rsa_public_key'){ +- let $cipher_default= DHE-RSA-AES128-GCM-SHA256; ++ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256; + let $tls_default= TLSv1.2; + } + --echo #T1: Default TLS connection +diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test +--- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100 ++++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100 +@@ -14,15 +14,15 @@ + + --echo # verify that mysql default connect with ssl channel when using TCP/IP + --echo # connection +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" + + --echo # verify that mysql --ssl=0 connect with unencrypted channel +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED + + --echo # verify that mysql --ssl=1 connect with ssl channel +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED + + CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test +--- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100 ++++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100 +@@ -19,17 +19,17 @@ insert into t1 values (5); + let $cipher_val= "DHE-RSA-AES256-SHA"; + let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); + if ($shavars == 'Rsa_public_key'){ +- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256"; ++ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256"; + } + + grant select on test.* to ssl_user1@localhost require SSL; +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA" +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx" + flush privileges; + +@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS + + connection con1; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -51,7 +51,7 @@ delete from t1; + + connection con2; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -59,7 +59,7 @@ delete from t1; + + connection con3; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -67,7 +67,7 @@ delete from t1; + + connection con4; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -142,7 +142,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-mode=REQUIRED --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 + +@@ -269,7 +269,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-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test +--- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100 ++++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100 +@@ -2,7 +2,7 @@ + --source include/have_ssl.inc + + connect (ssl_con,localhost,root,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100 +@@ -4,7 +4,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-mode=REQUIRED --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-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100 +@@ -10,7 +10,7 @@ + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1 + + --echo # try to connect with correct '--ssl-ca' path : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # +@@ -22,15 +22,15 @@ + + --echo # try to connect with '--ssl-ca' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-key' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-cert' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100 +@@ -17,7 +17,7 @@ + connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100 +@@ -32,9 +32,11 @@ if (!$crllen) + --echo # try to connect with '--ssl-crl' option using tilde home directoy + --echo # path substitution : should connect + --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-crlpath' option using tilde home directoy + --echo # path substitution : should connect + --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'" +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100 +@@ -16,7 +16,7 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check ssl expiration +@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + connection default; +diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc +--- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100 ++++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100 +@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char * + enum my_aes_opmode mode, const unsigned char *iv, + bool padding) + { +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + const EVP_CIPHER *cipher= aes_evp_type(mode); + int u_len, f_len; + /* The real key to be used for encryption */ +@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char * + if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) + return MY_AES_BAD_DATA; + +- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv)) ++ if (!EVP_EncryptInit(ctx, cipher, rkey, iv)) + goto aes_error; /* Error */ +- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) ++ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) + goto aes_error; /* Error */ +- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length)) ++ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length)) + goto aes_error; /* Error */ + +- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len)) ++ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len)) + goto aes_error; /* Error */ + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return u_len + f_len; + + aes_error: + /* need to explicitly clean up the error if we want to ignore it */ + ERR_clear_error(); +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return MY_AES_BAD_DATA; + } + +@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char * + bool padding) + { + +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + const EVP_CIPHER *cipher= aes_evp_type(mode); + int u_len, f_len; + +@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char * + if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) + return MY_AES_BAD_DATA; + +- EVP_CIPHER_CTX_init(&ctx); +- +- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv)) ++ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv)) + goto aes_error; /* Error */ +- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) ++ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) + goto aes_error; /* Error */ +- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length)) ++ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length)) + goto aes_error; /* Error */ +- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len)) ++ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len)) + goto aes_error; /* Error */ + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return u_len + f_len; + + aes_error: + /* need to explicitly clean up the error if we want to ignore it */ + ERR_clear_error(); +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return MY_AES_BAD_DATA; + } + +diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c +--- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100 ++++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100 +@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= " + mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== + -----END DH PARAMETERS----- + */ +-static unsigned char dh2048_p[]= ++static unsigned char dhp_2048[]= + { + 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, + 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, +@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]= + }; + + +-static unsigned char dh2048_g[]={ ++static unsigned char dhg_2048[]={ + 0x05, + }; + + static DH *get_dh2048(void) + { +- DH *dh; +- if ((dh=DH_new())) ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ if (dh != NULL) + { +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if (! dh->p || ! dh->g) ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); + dh=0; + } + } +diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc +--- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100 ++++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100 +@@ -3376,7 +3376,7 @@ static int init_ssl() + { + #ifdef HAVE_OPENSSL + #ifndef HAVE_YASSL +- CRYPTO_malloc_init(); ++ OPENSSL_malloc_init(); + #endif + ssl_start(); + #ifndef EMBEDDED_LIBRARY +diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c +--- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100 ++++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100 +@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v + goto error; + } + +- cn= (char *) ASN1_STRING_data(cn_asn1); ++ cn= (char *) ASN1_STRING_get0_data(cn_asn1); + + // There should not be any NULL embedded in the CN + if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn)) +diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c +--- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100 ++++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100 +@@ -86,7 +86,7 @@ static my_bool ssl_initialized + mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== + -----END DH PARAMETERS----- + */ +-static unsigned char dh2048_p[]= ++static unsigned char dhp_2048[]= + { + 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, + 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, +@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]= + 0x00, 0x05, 0x85, 0xB7, + }; + +-static unsigned char dh2048_g[]={ ++static unsigned char dhg_2048[]={ + 0x05, + }; + + static DH *get_dh2048(void) + { +- DH *dh; +- if ((dh=DH_new())) ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh != NULL) + { +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if (! dh->p || ! dh->g) ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); + dh=0; + } + } +@@ -419,9 +424,7 @@ void ssl_start() + { + ssl_initialized= TRUE; + +- SSL_library_init(); +- OpenSSL_add_all_algorithms(); +- SSL_load_error_strings(); ++ OPENSSL_init_ssl(0, NULL); + + #ifndef HAVE_YASSL + init_ssl_locks(); diff --git a/community-mysql.spec b/community-mysql.spec index 89cec01..064747c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.20 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -133,6 +133,7 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch +Patch71: %{pkgnamepatch}-openssl11.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -152,11 +153,7 @@ BuildRequires: mecab-devel %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif -%if 0%{?fedora} < 26 BuildRequires: openssl-devel -%else -BuildRequires: compat-openssl10-devel -%endif %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators @@ -416,6 +413,7 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +%patch71 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -474,7 +472,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %endif # build out of source -mkdir build && pushd build +mkdir -p build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -974,6 +972,10 @@ fi %endif %changelog +* Sat Dec 09 2017 Honza Horak - 5.7.20-3 +- Port for OpenSSL 1.1 + Fix tests that expect some particular ciphers + * Tue Nov 28 2017 Michal Schorm - 5.7.20-2 - In F>27 stick to upstream library version naming From d662c8947b64df0d724a0594103f1d1f30907422 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Jan 2018 14:52:58 +0100 Subject: [PATCH 162/274] Provide subackage with a client static library needed by mysql-connector-odbc package Remove Group tag as it shouldn't be used anymore --- community-mysql.spec | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 064747c..6b8017b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,9 +90,8 @@ Name: community-mysql Version: 5.7.20 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries -Group: Applications/Databases URL: http://www.mysql.com # Exceptions allow client libraries to be linked with most open source SW, @@ -219,7 +218,6 @@ contains the standard MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MySQL clients -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} @@ -237,7 +235,6 @@ 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 @@ -250,7 +247,6 @@ package itself. %if %{with common} %package common Summary: The shared files required for MySQL server and client -Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf %description common @@ -263,7 +259,6 @@ MySQL 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 @@ -275,7 +270,6 @@ MySQL packages. %package server Summary: The MySQL server and related files -Group: Applications/Databases # Require any mysql client, but prefer community-mysql client for community-mysql server Suggests: %{name}%{?_isa} = %{sameevr} @@ -318,7 +312,6 @@ the MySQL server and some accompanying files and directories. %if %{with devel} %package devel Summary: Files for development of MySQL applications -Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: pkgconfig(openssl) Requires: zlib-devel @@ -334,7 +327,6 @@ developing MySQL client applications. %if %{with embedded} %package embedded Summary: MySQL as an embeddable library -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -350,7 +342,6 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library -Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} Requires: libaio-devel @@ -368,7 +359,6 @@ the embedded version of the MySQL server. %if %{with test} %package test Summary: The test suite distributed with MySQL -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} @@ -399,6 +389,17 @@ the MySQL sources. %endif +%package static +Summary: Static mysql client library +Suggests: %{name}-devel%{?_isa} = %{sameevr} + +%description static +MySQL is a multi-user, multi-threaded SQL database server. +This package contains the static client library "libmysqlclient.a", that is +required by mysql-connector-odbc package. This package should not be required +by any other package than mysql-connector-odbc. + + %prep %setup -q -n mysql-%{version} %patch1 -p1 @@ -589,9 +590,12 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p 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 +# Do not pack those libraries +rm %{buildroot}%{_libdir}/mysql/libmysqld.a +rm %{buildroot}%{_libdir}/mysql/libmysqlservices.a + # not needed in rpm package rm %{buildroot}%{_bindir}/mysql_embedded -rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -795,6 +799,9 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif +%files static +%{_libdir}/mysql/libmysqlclient.a + %if %{with config} %files config # although the default my.cnf contains only server settings, we put it in the @@ -972,6 +979,11 @@ fi %endif %changelog +* Tue Jan 02 2018 Michal Schorm - 5.7.20-4 +- Provide subackage with a client static library + Needed by mysql-connector-odbc package +- Remove Group tag as it shouldn't be used anymore + * Sat Dec 09 2017 Honza Horak - 5.7.20-3 - Port for OpenSSL 1.1 Fix tests that expect some particular ciphers From dd46f0a7a01a9ae9d6b9a5d9ab81b6d17fa769a6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Jan 2018 14:52:58 +0100 Subject: [PATCH 163/274] Provide subackage with a client static library needed by mysql-connector-odbc package Remove Group tag as it shouldn't be used anymore --- community-mysql.spec | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1daa0eb..687d9db 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,9 +84,8 @@ Name: community-mysql Version: 5.7.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries -Group: Applications/Databases URL: http://www.mysql.com # Exceptions allow client libraries to be linked with most open source SW, @@ -216,7 +215,6 @@ contains the standard MySQL client programs and generic MySQL files. %if %{with clibrary} %package libs Summary: The shared libraries required for MySQL clients -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %if %{with mysql_names} Provides: mysql-libs = %{sameevr} @@ -234,7 +232,6 @@ 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 @@ -247,7 +244,6 @@ package itself. %if %{with common} %package common Summary: The shared files required for MySQL server and client -Group: Applications/Databases Requires: %{_sysconfdir}/my.cnf %description common @@ -260,7 +256,6 @@ MySQL 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 @@ -272,7 +267,6 @@ MySQL packages. %package server Summary: The MySQL server and related files -Group: Applications/Databases # Require any mysql client, but prefer community-mysql client for community-mysql server Suggests: %{name}%{?_isa} = %{sameevr} @@ -315,7 +309,6 @@ the MySQL server and some accompanying files and directories. %if %{with devel} %package devel Summary: Files for development of MySQL applications -Group: Applications/Databases %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: pkgconfig(openssl) Requires: zlib-devel @@ -331,7 +324,6 @@ developing MySQL client applications. %if %{with embedded} %package embedded Summary: MySQL as an embeddable library -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-errmsg%{?_isa} = %{sameevr} %if %{with mysql_names} @@ -347,7 +339,6 @@ into a client application instead of running as a separate process. %package embedded-devel Summary: Development files for MySQL as an embeddable library -Group: Applications/Databases Requires: %{name}-embedded%{?_isa} = %{sameevr} Requires: %{name}-devel%{?_isa} = %{sameevr} Requires: libaio-devel @@ -365,7 +356,6 @@ the embedded version of the MySQL server. %if %{with test} %package test Summary: The test suite distributed with MySQL -Group: Applications/Databases Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} @@ -396,6 +386,17 @@ the MySQL sources. %endif +%package static +Summary: Static mysql client library +Suggests: %{name}-devel%{?_isa} = %{sameevr} + +%description static +MySQL is a multi-user, multi-threaded SQL database server. +This package contains the static client library "libmysqlclient.a", that is +required by mysql-connector-odbc package. This package should not be required +by any other package than mysql-connector-odbc. + + %prep %setup -q -n mysql-%{version} %patch1 -p1 @@ -585,9 +586,12 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p 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 +# Do not pack those libraries +rm %{buildroot}%{_libdir}/mysql/libmysqld.a +rm %{buildroot}%{_libdir}/mysql/libmysqlservices.a + # not needed in rpm package rm %{buildroot}%{_bindir}/mysql_embedded -rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -791,6 +795,9 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif +%files static +%{_libdir}/mysql/libmysqlclient.a + %if %{with config} %files config # although the default my.cnf contains only server settings, we put it in the @@ -968,6 +975,11 @@ fi %endif %changelog +* Tue Jan 02 2018 Michal Schorm - 5.7.20-2 +- Provide subackage with a client static library + Needed by mysql-connector-odbc package +- Remove Group tag as it shouldn't be used anymore + * Wed Oct 25 2017 Michal Schorm - 5.7.20-1 - Fix owner and perms on log file in post script Related: #1497694 From 0977d7c2ea532717dd131277a7a760c3a2460515 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Jan 2018 15:34:57 +0100 Subject: [PATCH 164/274] Exclude failing test --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 6b8017b..07d3713 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -436,6 +436,8 @@ add_test () { touch %{skiplist} +add_test auth_sec.openssl_cert_validity : 2018 new year issue + # these tests fail on arm32 %ifarch %arm # FTS From 358de6797b7c631105c2885933aaeee377a87ab9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 2 Jan 2018 15:34:57 +0100 Subject: [PATCH 165/274] Exclude failing test --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 687d9db..8f052bc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -432,6 +432,8 @@ add_test () { touch %{skiplist} +add_test auth_sec.openssl_cert_validity : 2018 new year issue + # these tests fail on arm32 %ifarch %arm # FTS From 9d42ca2a37c7c9860369bddd0cd0fb927be1d544 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 8 Dec 2017 15:55:22 +0100 Subject: [PATCH 166/274] Port for OpenSSL 1.1 Change few SSL calls Fix tests that expect some particular ciphers --- community-mysql-openssl11.patch | 517 ++++++++++++++++++++++++++++++++ community-mysql.spec | 14 +- 2 files changed, 525 insertions(+), 6 deletions(-) create mode 100644 community-mysql-openssl11.patch diff --git a/community-mysql-openssl11.patch b/community-mysql-openssl11.patch new file mode 100644 index 0000000..a3c29b7 --- /dev/null +++ b/community-mysql-openssl11.patch @@ -0,0 +1,517 @@ +Add OpenSSL 1.1 compatibility + +Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature. + +Upstream tracker: https://bugs.mysql.com/bug.php?id=83814 + +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100 +@@ -7,7 +7,7 @@ + connection default; + CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd'; + +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';" + + DROP USER u_20693153@localhost; +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100 +@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c + --file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem + + --echo # Ensure that server is ssl enabled +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + #----------------------------------------------------------------------------- + +@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden + + # Using SSL certificates + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + # Using RSA key pair + --echo # Should be able to connect to server using RSA key pair. +@@ -351,7 +351,7 @@ show variables like 'sha256%'; + + --echo # 6.3 : SSL connection + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + + +@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden + + # Using SSL certificates + --echo # Should be able to connect to server using generated SSL certificates. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" + # Using RSA key pair + --echo # Should be able to connect to server using RSA key pair. +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100 +@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is + + --echo # Try to establish SSL connection : This must succeed. + connect (ssl_root_1,localhost,root,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + SHOW VARIABLES LIKE 'have_ssl'; + +@@ -68,7 +68,7 @@ connection default; + disconnect ssl_root_1; + + --echo # Connect using mysql client : This must succeed. +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" + + +@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is + --source include/search_pattern_in_file.inc + + --echo # Try creating SSL connection +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" + + +diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test +--- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100 ++++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100 +@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA; + let $tls_default= TLSv1.1; + let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); + if ($openssl == 'Rsa_public_key'){ +- let $cipher_default= DHE-RSA-AES128-GCM-SHA256; ++ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256; + let $tls_default= TLSv1.2; + } + --echo #T1: Default TLS connection +diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test +--- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100 ++++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100 +@@ -14,15 +14,15 @@ + + --echo # verify that mysql default connect with ssl channel when using TCP/IP + --echo # connection +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" + + --echo # verify that mysql --ssl=0 connect with unencrypted channel +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED + + --echo # verify that mysql --ssl=1 connect with ssl channel +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED + + CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test +--- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100 ++++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100 +@@ -19,17 +19,17 @@ insert into t1 values (5); + let $cipher_val= "DHE-RSA-AES256-SHA"; + let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); + if ($shavars == 'Rsa_public_key'){ +- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256"; ++ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256"; + } + + grant select on test.* to ssl_user1@localhost require SSL; +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA" +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + -- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx" + flush privileges; + +@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS + + connection con1; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -51,7 +51,7 @@ delete from t1; + + connection con2; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -59,7 +59,7 @@ delete from t1; + + connection con3; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -67,7 +67,7 @@ delete from t1; + + connection con4; + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + select * from t1; + --error ER_TABLEACCESS_DENIED_ERROR +@@ -142,7 +142,7 @@ drop table t1; + # verification of servers certificate by setting both ca certificate + # and ca path to NULL + # +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-mode=REQUIRED --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 + +@@ -269,7 +269,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-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + disconnect con1; + connection default; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test +--- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100 ++++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100 +@@ -2,7 +2,7 @@ + --source include/have_ssl.inc + + connect (ssl_con,localhost,root,,,,,SSL); +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100 +@@ -4,7 +4,7 @@ + # + # Bug#29784 YaSSL assertion failure when reading 8k key. + # +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-mode=REQUIRED --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-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100 +@@ -10,7 +10,7 @@ + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1 + + --echo # try to connect with correct '--ssl-ca' path : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # +@@ -22,15 +22,15 @@ + + --echo # try to connect with '--ssl-ca' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-key' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-cert' option using tilde home directoy + --echo # path substitution : should connect +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100 +@@ -17,7 +17,7 @@ + connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check compression turned on +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100 +@@ -32,9 +32,11 @@ if (!$crllen) + --echo # try to connect with '--ssl-crl' option using tilde home directoy + --echo # path substitution : should connect + --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'" + + --echo # try to connect with '--ssl-crlpath' option using tilde home directoy + --echo # path substitution : should connect + --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 + --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'" +diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test +--- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100 ++++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100 +@@ -16,7 +16,7 @@ + connect (ssl_con,localhost,root,,,,,SSL); + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + # Check ssl expiration +@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; + -- source include/common-tests.inc + + # Check ssl turned on +---replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER ++--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER + SHOW STATUS LIKE 'Ssl_cipher'; + + connection default; +diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc +--- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100 ++++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100 +@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char * + enum my_aes_opmode mode, const unsigned char *iv, + bool padding) + { +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + const EVP_CIPHER *cipher= aes_evp_type(mode); + int u_len, f_len; + /* The real key to be used for encryption */ +@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char * + if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) + return MY_AES_BAD_DATA; + +- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv)) ++ if (!EVP_EncryptInit(ctx, cipher, rkey, iv)) + goto aes_error; /* Error */ +- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) ++ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) + goto aes_error; /* Error */ +- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length)) ++ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length)) + goto aes_error; /* Error */ + +- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len)) ++ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len)) + goto aes_error; /* Error */ + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return u_len + f_len; + + aes_error: + /* need to explicitly clean up the error if we want to ignore it */ + ERR_clear_error(); +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return MY_AES_BAD_DATA; + } + +@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char * + bool padding) + { + +- EVP_CIPHER_CTX ctx; ++ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); + const EVP_CIPHER *cipher= aes_evp_type(mode); + int u_len, f_len; + +@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char * + if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) + return MY_AES_BAD_DATA; + +- EVP_CIPHER_CTX_init(&ctx); +- +- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv)) ++ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv)) + goto aes_error; /* Error */ +- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) ++ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) + goto aes_error; /* Error */ +- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length)) ++ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length)) + goto aes_error; /* Error */ +- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len)) ++ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len)) + goto aes_error; /* Error */ + +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return u_len + f_len; + + aes_error: + /* need to explicitly clean up the error if we want to ignore it */ + ERR_clear_error(); +- EVP_CIPHER_CTX_cleanup(&ctx); ++ EVP_CIPHER_CTX_free(ctx); + return MY_AES_BAD_DATA; + } + +diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c +--- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100 ++++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100 +@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= " + mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== + -----END DH PARAMETERS----- + */ +-static unsigned char dh2048_p[]= ++static unsigned char dhp_2048[]= + { + 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, + 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, +@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]= + }; + + +-static unsigned char dh2048_g[]={ ++static unsigned char dhg_2048[]={ + 0x05, + }; + + static DH *get_dh2048(void) + { +- DH *dh; +- if ((dh=DH_new())) ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ if (dh != NULL) + { +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if (! dh->p || ! dh->g) ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); + dh=0; + } + } +diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc +--- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100 ++++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100 +@@ -3376,7 +3376,7 @@ static int init_ssl() + { + #ifdef HAVE_OPENSSL + #ifndef HAVE_YASSL +- CRYPTO_malloc_init(); ++ OPENSSL_malloc_init(); + #endif + ssl_start(); + #ifndef EMBEDDED_LIBRARY +diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c +--- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100 ++++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100 +@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v + goto error; + } + +- cn= (char *) ASN1_STRING_data(cn_asn1); ++ cn= (char *) ASN1_STRING_get0_data(cn_asn1); + + // There should not be any NULL embedded in the CN + if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn)) +diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c +--- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100 ++++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100 +@@ -86,7 +86,7 @@ static my_bool ssl_initialized + mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== + -----END DH PARAMETERS----- + */ +-static unsigned char dh2048_p[]= ++static unsigned char dhp_2048[]= + { + 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, + 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, +@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]= + 0x00, 0x05, 0x85, 0xB7, + }; + +-static unsigned char dh2048_g[]={ ++static unsigned char dhg_2048[]={ + 0x05, + }; + + static DH *get_dh2048(void) + { +- DH *dh; +- if ((dh=DH_new())) ++ DH *dh = DH_new(); ++ BIGNUM *dhp_bn, *dhg_bn; ++ ++ if (dh != NULL) + { +- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); +- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); +- if (! dh->p || ! dh->g) ++ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); ++ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); ++ if (dhp_bn == NULL || dhg_bn == NULL ++ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) + { + DH_free(dh); ++ BN_free(dhp_bn); ++ BN_free(dhg_bn); + dh=0; + } + } +@@ -419,9 +424,7 @@ void ssl_start() + { + ssl_initialized= TRUE; + +- SSL_library_init(); +- OpenSSL_add_all_algorithms(); +- SSL_load_error_strings(); ++ OPENSSL_init_ssl(0, NULL); + + #ifndef HAVE_YASSL + init_ssl_locks(); diff --git a/community-mysql.spec b/community-mysql.spec index 8f052bc..ec308b3 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.20 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -126,6 +126,7 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch +Patch71: %{pkgnamepatch}-openssl11.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -145,11 +146,7 @@ BuildRequires: mecab-devel %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif -%if 0%{?fedora} < 26 BuildRequires: openssl-devel -%else -BuildRequires: compat-openssl10-devel -%endif %if 0%{?fedora} > 24 || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators @@ -411,6 +408,7 @@ by any other package than mysql-connector-odbc. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +%patch71 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -471,7 +469,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ %endif # build out of source -mkdir build && pushd build +mkdir -p build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -977,6 +975,10 @@ fi %endif %changelog +* Mon Jan 08 2018 Michal Schorm - 5.7.20-3 +- Port for OpenSSL 1.1 + Fix tests that expect some particular ciphers + * Tue Jan 02 2018 Michal Schorm - 5.7.20-2 - Provide subackage with a client static library Needed by mysql-connector-odbc package From 5a03d7e9c7e8aefed5ea82a7548b1e704ac94c90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 20 Jan 2018 23:06:32 +0100 Subject: [PATCH 167/274] Rebuilt for switch to libxcrypt --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 07d3713..110d990 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.20 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -981,6 +981,9 @@ fi %endif %changelog +* Sat Jan 20 2018 Björn Esser - 5.7.20-5 +- Rebuilt for switch to libxcrypt + * Tue Jan 02 2018 Michal Schorm - 5.7.20-4 - Provide subackage with a client static library Needed by mysql-connector-odbc package From f07a920969118ab60c40a8cf3d61611e47414419 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 21 Jan 2018 04:21:00 +0100 Subject: [PATCH 168/274] Update to MySQL 5.7.21 --- community-mysql-tirpc.patch | 88 +++++++++++++++++++++++++++++++++++++ community-mysql.spec | 18 +++++++- sources | 2 +- 3 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 community-mysql-tirpc.patch diff --git a/community-mysql-tirpc.patch b/community-mysql-tirpc.patch new file mode 100644 index 0000000..1ddff40 --- /dev/null +++ b/community-mysql-tirpc.patch @@ -0,0 +1,88 @@ +diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake +index b9c5895..f4569cd 100644 +--- a/rapid/plugin/group_replication/rpcgen.cmake ++++ b/rapid/plugin/group_replication/rpcgen.cmake +@@ -87,6 +87,12 @@ FOREACH(X xcom_vp) + ${XCOM_BASEDIR}/xcom_proto_enum.h + ${XCOM_BASEDIR}/xcom_limits.h) + ELSE() ++ FIND_PROGRAM(RPCGEN_EXECUTABLE rpcgen DOC "path to the rpcgen executable") ++ MARK_AS_ADVANCED(RPCGEN_EXECUTABLE) ++ IF(NOT RPCGEN_EXECUTABLE) ++ MESSAGE(FATAL_ERROR "Could not find rpcgen") ++ ENDIF() ++ + # on unix systems try to generate them if needed + ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} + COMMAND ${CMAKE_COMMAND} -E copy_if_different +@@ -103,10 +109,10 @@ FOREACH(X xcom_vp) + + # generate the sources + COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_h} +- COMMAND rpcgen -C -h -o ++ COMMAND ${RPCGEN_EXECUTABLE} -C -h -o + ${x_gen_h} ${x_tmp_x_canonical_name} + COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_c} +- COMMAND rpcgen -C -c -o ++ COMMAND ${RPCGEN_EXECUTABLE} -C -c -o + ${x_gen_c} ${x_tmp_x_canonical_name} + WORKING_DIRECTORY ${gen_xdr_dir} + DEPENDS + +diff --git a/rapid/plugin/group_replication/CMakeLists.txt b/rapid/plugin/group_replication/CMakeLists.txt +index 5bcaa8b..bce9de4 100644 +--- a/rapid/plugin/group_replication/CMakeLists.txt ++++ b/rapid/plugin/group_replication/CMakeLists.txt +@@ -218,6 +218,7 @@ MYSQL_ADD_PLUGIN(group_replication + LINK_LIBRARIES + ${LZ4_LIBRARY} + ${SSL_LIBRARIES} ++ ${TIRPC_LIBRARY} + MODULE_ONLY MODULE_OUTPUT_NAME "group_replication") + + ### INSTALLATION ### +diff --git a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c +index 245dda0..210e124 100644 +--- a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c ++++ b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c +@@ -417,7 +417,11 @@ x_putbytes (XDR *xdrs, const char *bp MY_ATTRIBUTE((unused)), u_int len) + + + static u_int ++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(HAVE_TIRPC) ++x_getpostn(XDR *xdrs) ++#else + x_getpostn (const XDR *xdrs) ++#endif + { + #ifdef OLD_XDR + return (u_int)(xdrs->x_handy); +diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake +index f4569cd..cccb1c3 100644 +--- a/rapid/plugin/group_replication/rpcgen.cmake ++++ b/rapid/plugin/group_replication/rpcgen.cmake +@@ -93,6 +93,24 @@ FOREACH(X xcom_vp) + MESSAGE(FATAL_ERROR "Could not find rpcgen") + ENDIF() + ++ # First look for tirpc, then the old Sun RPC ++ FIND_PATH(RPC_INCLUDE_DIR ++ NAMES rpc/rpc.h ++ HINTS /usr/include/tirpc ++ NO_DEFAULT_PATH ++ ) ++ FIND_PATH(RPC_INCLUDE_DIR NAMES rpc/rpc.h) ++ IF(NOT RPC_INCLUDE_DIR) ++ MESSAGE(FATAL_ERROR ++ "Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc") ++ ENDIF() ++ MESSAGE(STATUS "RPC_INCLUDE_DIR ${RPC_INCLUDE_DIR}") ++ IF(RPC_INCLUDE_DIR STREQUAL "/usr/include/tirpc") ++ INCLUDE_DIRECTORIES(SYSTEM /usr/include/tirpc) ++ ADD_DEFINITIONS(-DHAVE_TIRPC) ++ SET(TIRPC_LIBRARY tirpc) ++ ENDIF() ++ + # on unix systems try to generate them if needed + ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} + COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/community-mysql.spec b/community-mysql.spec index 110d990..11df69e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -89,8 +89,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.20 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 5.7.21 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -133,6 +133,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch +Patch72: %{pkgnamepatch}-tirpc.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -157,6 +158,10 @@ BuildRequires: openssl-devel BuildRequires: perl-interpreter BuildRequires: perl-generators %endif +%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +BuildRequires: rpcgen +BuildRequires: libtirpc-devel +%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -415,6 +420,7 @@ by any other package than mysql-connector-odbc. %patch70 -p1 %endif %patch71 -p1 +%patch72 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -981,6 +987,14 @@ fi %endif %changelog +* Wed Jan 17 2018 Norvald H. Ryeng - 5.7.21-1 +- Update to MySQL 5.7.21, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html +- Add rpcgen to buildrep +- Add support for libtirpc +- Fix for various CVEs listed on + http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html + * Sat Jan 20 2018 Björn Esser - 5.7.20-5 - Rebuilt for switch to libxcrypt diff --git a/sources b/sources index adb2e3a..0a7bb27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.20.tar.gz) = 4b80e66ee634d965ea54e815b875150beb19c6bd172d94795d4874df51a93925af48d2cd41cdac5dff1f506ad363418793bcecffa35cd50ee6b8b0d389e54729 +SHA512 (mysql-boost-5.7.21.tar.gz) = 29a1bfa1f5d5e354b66ca8c9fdaf7ee88de3d57bee3c6368861b46ab6d992affb7604577c06f241df542b96ab088c055473fd76584376dd149956ae1dd8726f3 From 181a71539045b857bb7b0ec8d94b19090d3103dc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 21 Jan 2018 04:23:35 +0100 Subject: [PATCH 169/274] Changelog fix --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 11df69e..91177ca 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -987,7 +987,7 @@ fi %endif %changelog -* Wed Jan 17 2018 Norvald H. Ryeng - 5.7.21-1 +* Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html - Add rpcgen to buildrep From 7e1736baba53fa6d027c81dbb0ed91407922966a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 21 Jan 2018 04:21:00 +0100 Subject: [PATCH 170/274] Update to MySQL 5.7.21 --- community-mysql-tirpc.patch | 88 +++++++++++++++++++++++++++++++++++++ community-mysql.spec | 18 +++++++- sources | 2 +- 3 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 community-mysql-tirpc.patch diff --git a/community-mysql-tirpc.patch b/community-mysql-tirpc.patch new file mode 100644 index 0000000..1ddff40 --- /dev/null +++ b/community-mysql-tirpc.patch @@ -0,0 +1,88 @@ +diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake +index b9c5895..f4569cd 100644 +--- a/rapid/plugin/group_replication/rpcgen.cmake ++++ b/rapid/plugin/group_replication/rpcgen.cmake +@@ -87,6 +87,12 @@ FOREACH(X xcom_vp) + ${XCOM_BASEDIR}/xcom_proto_enum.h + ${XCOM_BASEDIR}/xcom_limits.h) + ELSE() ++ FIND_PROGRAM(RPCGEN_EXECUTABLE rpcgen DOC "path to the rpcgen executable") ++ MARK_AS_ADVANCED(RPCGEN_EXECUTABLE) ++ IF(NOT RPCGEN_EXECUTABLE) ++ MESSAGE(FATAL_ERROR "Could not find rpcgen") ++ ENDIF() ++ + # on unix systems try to generate them if needed + ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} + COMMAND ${CMAKE_COMMAND} -E copy_if_different +@@ -103,10 +109,10 @@ FOREACH(X xcom_vp) + + # generate the sources + COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_h} +- COMMAND rpcgen -C -h -o ++ COMMAND ${RPCGEN_EXECUTABLE} -C -h -o + ${x_gen_h} ${x_tmp_x_canonical_name} + COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_c} +- COMMAND rpcgen -C -c -o ++ COMMAND ${RPCGEN_EXECUTABLE} -C -c -o + ${x_gen_c} ${x_tmp_x_canonical_name} + WORKING_DIRECTORY ${gen_xdr_dir} + DEPENDS + +diff --git a/rapid/plugin/group_replication/CMakeLists.txt b/rapid/plugin/group_replication/CMakeLists.txt +index 5bcaa8b..bce9de4 100644 +--- a/rapid/plugin/group_replication/CMakeLists.txt ++++ b/rapid/plugin/group_replication/CMakeLists.txt +@@ -218,6 +218,7 @@ MYSQL_ADD_PLUGIN(group_replication + LINK_LIBRARIES + ${LZ4_LIBRARY} + ${SSL_LIBRARIES} ++ ${TIRPC_LIBRARY} + MODULE_ONLY MODULE_OUTPUT_NAME "group_replication") + + ### INSTALLATION ### +diff --git a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c +index 245dda0..210e124 100644 +--- a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c ++++ b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c +@@ -417,7 +417,11 @@ x_putbytes (XDR *xdrs, const char *bp MY_ATTRIBUTE((unused)), u_int len) + + + static u_int ++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(HAVE_TIRPC) ++x_getpostn(XDR *xdrs) ++#else + x_getpostn (const XDR *xdrs) ++#endif + { + #ifdef OLD_XDR + return (u_int)(xdrs->x_handy); +diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake +index f4569cd..cccb1c3 100644 +--- a/rapid/plugin/group_replication/rpcgen.cmake ++++ b/rapid/plugin/group_replication/rpcgen.cmake +@@ -93,6 +93,24 @@ FOREACH(X xcom_vp) + MESSAGE(FATAL_ERROR "Could not find rpcgen") + ENDIF() + ++ # First look for tirpc, then the old Sun RPC ++ FIND_PATH(RPC_INCLUDE_DIR ++ NAMES rpc/rpc.h ++ HINTS /usr/include/tirpc ++ NO_DEFAULT_PATH ++ ) ++ FIND_PATH(RPC_INCLUDE_DIR NAMES rpc/rpc.h) ++ IF(NOT RPC_INCLUDE_DIR) ++ MESSAGE(FATAL_ERROR ++ "Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc") ++ ENDIF() ++ MESSAGE(STATUS "RPC_INCLUDE_DIR ${RPC_INCLUDE_DIR}") ++ IF(RPC_INCLUDE_DIR STREQUAL "/usr/include/tirpc") ++ INCLUDE_DIRECTORIES(SYSTEM /usr/include/tirpc) ++ ADD_DEFINITIONS(-DHAVE_TIRPC) ++ SET(TIRPC_LIBRARY tirpc) ++ ENDIF() ++ + # on unix systems try to generate them if needed + ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} + COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/community-mysql.spec b/community-mysql.spec index ec308b3..731536b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,8 +83,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.20 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 5.7.21 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -127,6 +127,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch +Patch72: %{pkgnamepatch}-tirpc.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -151,6 +152,10 @@ BuildRequires: openssl-devel BuildRequires: perl-interpreter BuildRequires: perl-generators %endif +%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +BuildRequires: rpcgen +BuildRequires: libtirpc-devel +%endif BuildRequires: systemtap-sdt-devel BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -409,6 +414,7 @@ by any other package than mysql-connector-odbc. %patch70 -p1 %endif %patch71 -p1 +%patch72 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -975,6 +981,14 @@ fi %endif %changelog +* Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 +- Update to MySQL 5.7.21, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html +- Add rpcgen to buildrep +- Add support for libtirpc +- Fix for various CVEs listed on + http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html + * Mon Jan 08 2018 Michal Schorm - 5.7.20-3 - Port for OpenSSL 1.1 Fix tests that expect some particular ciphers diff --git a/sources b/sources index adb2e3a..0a7bb27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.20.tar.gz) = 4b80e66ee634d965ea54e815b875150beb19c6bd172d94795d4874df51a93925af48d2cd41cdac5dff1f506ad363418793bcecffa35cd50ee6b8b0d389e54729 +SHA512 (mysql-boost-5.7.21.tar.gz) = 29a1bfa1f5d5e354b66ca8c9fdaf7ee88de3d57bee3c6368861b46ab6d992affb7604577c06f241df542b96ab088c055473fd76584376dd149956ae1dd8726f3 From 9afcfe2eb0d9c16a3f658e3e0cae005b6502e7c8 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 22 Jan 2018 02:13:00 +0100 Subject: [PATCH 171/274] Fix for libxcrypt - do not assume "crypt()" function is provided by glibc; #1536881 --- community-mysql-libxcrypt.patch | 38 +++++++++++++++++++++++++++++++++ community-mysql.spec | 4 ++++ 2 files changed, 42 insertions(+) create mode 100644 community-mysql-libxcrypt.patch diff --git a/community-mysql-libxcrypt.patch b/community-mysql-libxcrypt.patch new file mode 100644 index 0000000..177f9bc --- /dev/null +++ b/community-mysql-libxcrypt.patch @@ -0,0 +1,38 @@ +Do not assume, that "crypt" function is provided by glibc; #1536881 + +--- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100 ++++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100 +@@ -49,6 +49,9 @@ + #include + #include /* Recommended by debian */ + #include ++#if defined(HAVE_CRYPT_H) ++#include ++#endif + + #ifdef HAVE_SYS_SOCKET_H + #include + + +--- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100 ++++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100 +@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA + CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H) + CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit + CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached ++CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H) + + # For libevent + CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL) + + +--- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100 ++++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100 +@@ -62,6 +62,7 @@ + #cmakedefine HAVE_SYS_UN_H 1 + #cmakedefine HAVE_VIS_H 1 + #cmakedefine HAVE_SASL_SASL_H 1 ++#cmakedefine HAVE_CRYPT_H 1 + + /* Libevent */ + #cmakedefine HAVE_DEVPOLL 1 diff --git a/community-mysql.spec b/community-mysql.spec index 91177ca..8481c8e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -134,6 +134,7 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch Patch72: %{pkgnamepatch}-tirpc.patch +Patch73: %{pkgnamepatch}-libxcrypt.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -421,6 +422,7 @@ by any other package than mysql-connector-odbc. %endif %patch71 -p1 %patch72 -p1 +%patch73 -p1 # Patch Boost pushd boost/boost_1_59_0 @@ -994,6 +996,8 @@ fi - Add support for libtirpc - Fix for various CVEs listed on http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html +- Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc + Resolves: #1536881 * Sat Jan 20 2018 Björn Esser - 5.7.20-5 - Rebuilt for switch to libxcrypt From 5c8475437db6cbcb794bcc2a8f62e6f9fe30789e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 25 Jan 2018 12:36:26 +0100 Subject: [PATCH 172/274] Fix obsoletes using isa macro; #1537210 --- community-mysql.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8481c8e..cb40ad4 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -300,7 +300,7 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} Obsoletes: mysql-bench < 5.7.8 -Obsoletes: mysql-bench%{?_isa} +Obsoletes: mysql-bench %endif Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} @@ -998,6 +998,8 @@ fi http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html - Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc Resolves: #1536881 +- Fix obsoletes using isa macro + Resolves: #1537210 * Sat Jan 20 2018 Björn Esser - 5.7.20-5 - Rebuilt for switch to libxcrypt From f960602973cd25b8d7bd5423d8c43ad948631562 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 26 Jan 2018 10:42:08 +0100 Subject: [PATCH 173/274] Remove one "Obsoletes: mysql-bench" --- community-mysql.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cb40ad4..eea06c9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -300,7 +300,6 @@ Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} Obsoletes: mysql-bench < 5.7.8 -Obsoletes: mysql-bench %endif Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} @@ -998,7 +997,7 @@ fi http://www.oracle.com/technetwork/security-advisory/cpujan2018-3236628.html - Add fix for libxcrypt - do not assume "crypt()" function is provided by glibc Resolves: #1536881 -- Fix obsoletes using isa macro +- Fix obsoletes using isa macro, remove the line entirely Resolves: #1537210 * Sat Jan 20 2018 Björn Esser - 5.7.20-5 From d70e481fb94ffc9f282a5a11e69007cbe77af013 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2018 12:29:31 +0100 Subject: [PATCH 174/274] Fix ldconfig scriptlets --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index eea06c9..2b8da49 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -723,11 +723,13 @@ popd -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 %post server @@ -756,11 +758,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 %postun server From 5cf21671c578b0136fe8ba7131b5f84a9cd53fab Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2018 12:29:31 +0100 Subject: [PATCH 175/274] Fix ldconfig scriptlets --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 731536b..7fb41c7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -716,11 +716,13 @@ popd -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 %post server @@ -749,11 +751,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 %postun server From ca80a8a17ee179808471f0c61064d2c013f0825a Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Jan 2018 12:29:31 +0100 Subject: [PATCH 176/274] Fix ldconfig scriptlets --- community-mysql.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1daa0eb..c034f7b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -706,11 +706,13 @@ popd -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 %post server @@ -739,11 +741,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 %postun server From 3622151946ff4539ee5001b41233e9387a66c301 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 05:29:10 +0000 Subject: [PATCH 177/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 2b8da49..b340547 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -992,6 +992,9 @@ fi %endif %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html From 41d78fe18dc2908df82bce57268180a607f08583 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 17 Feb 2018 14:05:48 +0100 Subject: [PATCH 178/274] Remove 'static' library subpackage. mysql-connector-odbc now supports dynamic linking again. --- community-mysql.spec | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index b340547..ad89cdf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -394,17 +394,6 @@ the MySQL sources. %endif -%package static -Summary: Static mysql client library -Suggests: %{name}-devel%{?_isa} = %{sameevr} - -%description static -MySQL is a multi-user, multi-threaded SQL database server. -This package contains the static client library "libmysqlclient.a", that is -required by mysql-connector-odbc package. This package should not be required -by any other package than mysql-connector-odbc. - - %prep %setup -q -n mysql-%{version} %patch1 -p1 @@ -599,12 +588,9 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p 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 -# Do not pack those libraries -rm %{buildroot}%{_libdir}/mysql/libmysqld.a -rm %{buildroot}%{_libdir}/mysql/libmysqlservices.a - # not needed in rpm package rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -812,9 +798,6 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif -%files static -%{_libdir}/mysql/libmysqlclient.a - %if %{with config} %files config # although the default my.cnf contains only server settings, we put it in the @@ -994,6 +977,7 @@ fi %changelog * Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild +- Removed 'static' library subpackage * Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at From 74f555580084bc4425baa80726a9ff20e0ef2b09 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 17 Feb 2018 14:05:48 +0100 Subject: [PATCH 179/274] Remove 'static' library subpackage. mysql-connector-odbc now supports dynamic linking again. --- community-mysql.spec | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7fb41c7..282686a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -388,17 +388,6 @@ the MySQL sources. %endif -%package static -Summary: Static mysql client library -Suggests: %{name}-devel%{?_isa} = %{sameevr} - -%description static -MySQL is a multi-user, multi-threaded SQL database server. -This package contains the static client library "libmysqlclient.a", that is -required by mysql-connector-odbc package. This package should not be required -by any other package than mysql-connector-odbc. - - %prep %setup -q -n mysql-%{version} %patch1 -p1 @@ -592,12 +581,9 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p 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 -# Do not pack those libraries -rm %{buildroot}%{_libdir}/mysql/libmysqld.a -rm %{buildroot}%{_libdir}/mysql/libmysqlservices.a - # not needed in rpm package rm %{buildroot}%{_bindir}/mysql_embedded +rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server @@ -805,9 +791,6 @@ fi %config(noreplace) %{_sysconfdir}/ld.so.conf.d/* %endif -%files static -%{_libdir}/mysql/libmysqlclient.a - %if %{with config} %files config # although the default my.cnf contains only server settings, we put it in the @@ -985,6 +968,9 @@ fi %endif %changelog +* Sat Feb 17 2018 Michal Schorm - 5.7.21-1 +- Removed 'static' library subpackage + * Sun Jan 21 2018 Norvald H. Ryeng - 5.7.21-1 - Update to MySQL 5.7.21, for various fixes described at https://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-21.html From 888834d55c8fd2667a7796828105bf0fa33008fe Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 18 Feb 2018 20:41:00 +0100 Subject: [PATCH 180/274] Add a compiler to buildroot; https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ad89cdf..3f4e694 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -145,7 +145,7 @@ Patch170: boost-1.59.0-log.patch Patch180: boost-1.59-python-make_setter.patch Patch181: boost-1.59-test-fenv.patch -BuildRequires: cmake +BuildRequires: cmake gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel From a88a835c517cf1d063e09a5feb46c1389c0225f9 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 19 Feb 2018 02:54:01 +0100 Subject: [PATCH 181/274] Move my_print_defaults binary to the server package to resolve conflict with mariadb --- community-mysql.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3f4e694..e33d46f 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -776,7 +776,6 @@ fi %{_bindir}/mysqlpump %{_bindir}/mysqlshow %{_bindir}/mysqlslap -%{_bindir}/my_print_defaults %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* @@ -789,7 +788,6 @@ fi %{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/my_print_defaults.1* %endif %if %{with clibrary} @@ -849,6 +847,7 @@ fi %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack +%{_bindir}/my_print_defaults %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_ssl_rsa_setup @@ -886,6 +885,7 @@ fi %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* @@ -975,6 +975,9 @@ fi %endif %changelog +* Mon Feb 19 2018 Michal Schorm - 5.7.21-3 +- Move my_print_defaults binary to the server package to resolve conflict with mariadb + * Wed Feb 07 2018 Fedora Release Engineering - 5.7.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - Removed 'static' library subpackage From 2328bf1b187574ee29fc86937d93e09a57283e99 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 19 Feb 2018 02:54:01 +0100 Subject: [PATCH 182/274] Move my_print_defaults binary to the server package to resolve conflict with mariadb --- community-mysql.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 282686a..a826bc6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -84,7 +84,7 @@ Name: community-mysql Version: 5.7.21 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -769,7 +769,6 @@ fi %{_bindir}/mysqlpump %{_bindir}/mysqlshow %{_bindir}/mysqlslap -%{_bindir}/my_print_defaults %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* @@ -782,7 +781,6 @@ fi %{_mandir}/man1/mysqlpump.1* %{_mandir}/man1/mysqlshow.1* %{_mandir}/man1/mysqlslap.1* -%{_mandir}/man1/my_print_defaults.1* %endif %if %{with clibrary} @@ -842,6 +840,7 @@ fi %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack +%{_bindir}/my_print_defaults %{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_ssl_rsa_setup @@ -879,6 +878,7 @@ fi %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* +%{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* @@ -968,6 +968,9 @@ fi %endif %changelog +* Mon Feb 19 2018 Michal Schorm - 5.7.21-3 +- Move my_print_defaults binary to the server package to resolve conflict with mariadb + * Sat Feb 17 2018 Michal Schorm - 5.7.21-1 - Removed 'static' library subpackage From 8ca170051e7c06797798f292cd405a8ffe544db3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 20 Feb 2018 10:14:49 +0100 Subject: [PATCH 183/274] Added failing tests; #1546978 --- community-mysql.spec | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index e33d46f..4e2bcb8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -447,6 +447,23 @@ add_test perfschema.setup_objects : missing hw on arm32 %ifarch ppc64 ppc64le add_test innodb.innodb : missing correct value add_test perfschema.memory_aggregate_no_a : incorrect numbers in output +add_test innodb_zip.wl6469 : +add_test json.json_functions_innodb : +add_test main.ps : +add_test main.select_all : +add_test main.select_all_bka : +add_test main.select_all_bka_nixbnl : +add_test main.select_icp_mrr : +add_test main.select_icp_mrr_bka : +add_test main.select_icp_mrr_bka_nixbnl : +add_test main.select_none : +add_test main.select_none_bka : +add_test main.select_none_bka_nixbnl : +add_test main.sp : +add_test main.type_float : +add_test main.type_newdecimal : +add_test main.type_ranges : +add_test test_service_sql_api.test_sql_all_col_types : %endif # test fails on x86_64 From 88d32992e1252e30556328d30123810fd4128859 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sun, 25 Feb 2018 12:05:36 +0100 Subject: [PATCH 184/274] Bump release for rebuild --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4e2bcb8..8f9b6a8 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -992,6 +992,10 @@ fi %endif %changelog +* Sun Feb 25 2018 Michal Schorm - 5.7.21-4 +- Rebuilt for ldconfig_post and ldconfig_postun bug + Related: #1548331 + * Mon Feb 19 2018 Michal Schorm - 5.7.21-3 - Move my_print_defaults binary to the server package to resolve conflict with mariadb From e8f86d7b5c27fb107d5cf29d3472f89018643602 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 26 Feb 2018 16:36:24 +0100 Subject: [PATCH 185/274] Revert "Fix ldconfig scriptlets" This reverts commit d70e481fb94ffc9f282a5a11e69007cbe77af013. This change is not applicable for packages shipping config files for ld.so.conf.d --- community-mysql.spec | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8f9b6a8..c88f831 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -726,13 +726,11 @@ popd -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_post libs +%post libs -p /sbin/ldconfig %endif %if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_post embedded +%post embedded -p /sbin/ldconfig %endif %post server @@ -761,13 +759,11 @@ fi %endif %if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_postun libs +%postun libs -p /sbin/ldconfig %endif %if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_postun embedded +%postun embedded -p /sbin/ldconfig %endif %postun server @@ -992,7 +988,7 @@ fi %endif %changelog -* Sun Feb 25 2018 Michal Schorm - 5.7.21-4 +* Sun Feb 25 2018 Michal Schorm - 5.7.21-5 - Rebuilt for ldconfig_post and ldconfig_postun bug Related: #1548331 From fbe479656287a7f674094193aeda4437f9918e68 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 02:05:20 +0100 Subject: [PATCH 186/274] Add F>=28 condition for libxcrypt patch --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index c88f831..0548283 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -134,7 +134,9 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch Patch72: %{pkgnamepatch}-tirpc.patch +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 Patch73: %{pkgnamepatch}-libxcrypt.patch +%endif # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -410,7 +412,9 @@ the MySQL sources. %endif %patch71 -p1 %patch72 -p1 +%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %patch73 -p1 +%endif # Patch Boost pushd boost/boost_1_59_0 From d24ac6672badf6188b1f522b0045a42f632c7e36 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:19:05 +0100 Subject: [PATCH 187/274] Add F>=27 condition for openssl 1.1 patch --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 0548283..4b204ff 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -132,7 +132,9 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch +%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 Patch71: %{pkgnamepatch}-openssl11.patch +%endif Patch72: %{pkgnamepatch}-tirpc.patch %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 Patch73: %{pkgnamepatch}-libxcrypt.patch @@ -410,7 +412,9 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif +%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %patch71 -p1 +%endif %patch72 -p1 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %patch73 -p1 From eb474c0445a96c630f5b8903ccb2eefb9f228513 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:33:43 +0100 Subject: [PATCH 188/274] Add F>=28 condition for tirpc patch --- community-mysql.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index a296128..1b7124d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -135,8 +135,8 @@ Patch70: %{pkgnamepatch}-5.7.9-major.patch %if 0%{?fedora} >= 27 || 0%{?rhel} > 7 Patch71: %{pkgnamepatch}-openssl11.patch %endif -Patch72: %{pkgnamepatch}-tirpc.patch %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +Patch72: %{pkgnamepatch}-tirpc.patch Patch73: %{pkgnamepatch}-libxcrypt.patch %endif @@ -415,8 +415,8 @@ the MySQL sources. %if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %patch71 -p1 %endif -%patch72 -p1 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 +%patch72 -p1 %patch73 -p1 %endif From e49d56aaf7dcff25b457f4ee6f22a31f109b3d3b Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 03:35:50 +0100 Subject: [PATCH 189/274] Rebuilt after Rawhide & f28 & f27 & f26 merge --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1b7124d..9716324 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -90,7 +90,7 @@ Name: community-mysql Version: 5.7.21 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -1000,6 +1000,9 @@ fi %endif %changelog +* Tue Feb 27 2018 Michal Schorm - 5.7.21-6 +- Rebuilt after Rawhide & f28 & f27 & f26 merge + * Sun Feb 25 2018 Michal Schorm - 5.7.21-5 - Rebuilt for ldconfig_post and ldconfig_postun bug Related: #1548331 From 4e622d03e9495f41a3873266f0aad863cc9a9be0 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 27 Feb 2018 17:18:16 +0100 Subject: [PATCH 190/274] Revert of: Add F>=27 condition for openssl 1.1 patch; d24ac6672badf6188b1f522b0045a42f632c7e36; f26 needs that patch too --- community-mysql.spec | 4 ---- 1 file changed, 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9716324..662a6c0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -132,9 +132,7 @@ Patch7: %{pkgnamepatch}-md5_fips.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch -%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 Patch71: %{pkgnamepatch}-openssl11.patch -%endif %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 Patch72: %{pkgnamepatch}-tirpc.patch Patch73: %{pkgnamepatch}-libxcrypt.patch @@ -412,9 +410,7 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch70 -p1 %endif -%if 0%{?fedora} >= 27 || 0%{?rhel} > 7 %patch71 -p1 -%endif %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 %patch72 -p1 %patch73 -p1 From be7429980cab85eb286273dd73707af3702b4c53 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 1 Mar 2018 00:41:22 +0100 Subject: [PATCH 191/274] Update failing tests list for 5.7.21 --- community-mysql.spec | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 662a6c0..e698c3d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -436,20 +436,20 @@ add_test () { touch %{skiplist} -add_test auth_sec.openssl_cert_validity : 2018 new year issue - # these tests fail on arm32 %ifarch %arm -# FTS +# FTS; still apply for 5.7.21 add_test innodb_fts.opt : arm32 FTS issue -# Missing hw counters +# Missing hw counters; in 5.7.21 reported as unstable tests add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 %endif -# this test fail on ppc64* -%ifarch ppc64 ppc64le +# This test fail on ppc64 and ppc64le; applicable in 5.7.21 +%ifarch ppc64le ppc64 add_test innodb.innodb : missing correct value +%endif +%ifarch ppc64le add_test perfschema.memory_aggregate_no_a : incorrect numbers in output add_test innodb_zip.wl6469 : add_test json.json_functions_innodb : @@ -470,11 +470,6 @@ add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif -# test fails on x86_64 -%ifarch x86_64 -add_test main.mysql_upgrade : Result content mismatch -%endif - popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ From 0535da7ceb9ff24eac5776fc50303cb7986b230f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 19 Apr 2018 23:13:26 +0200 Subject: [PATCH 192/274] Rebase to 5.7.22 version CVE fixes: #1568963 CVE-2018-2755 CVE-2018-2758 CVE-2018-2759 CVE-2018-2761 CVE-2018-2762 CVE-2018-2766 CVE-2018-2769 CVE-2018-2771 CVE-2018-2773 CVE-2018-2775 CVE-2018-2776 CVE-2018-2777 CVE-2018-2778 CVE-2018-2779 CVE-2018-2780 CVE-2018-2781 CVE-2018-2782 CVE-2018-2784 CVE-2018-2786 CVE-2018-2787 CVE-2018-2810 CVE-2018-2812 CVE-2018-2813 CVE-2018-2816 CVE-2018-2817 CVE-2018-2818 CVE-2018-2819 CVE-2018-2839 CVE-2018-2846 --- community-mysql.spec | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index e698c3d..088a50c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -89,8 +89,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.21 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 5.7.22 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -134,7 +134,6 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch70: %{pkgnamepatch}-5.7.9-major.patch Patch71: %{pkgnamepatch}-openssl11.patch %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -Patch72: %{pkgnamepatch}-tirpc.patch Patch73: %{pkgnamepatch}-libxcrypt.patch %endif @@ -412,7 +411,6 @@ the MySQL sources. %endif %patch71 -p1 %if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -%patch72 -p1 %patch73 -p1 %endif @@ -454,6 +452,9 @@ add_test perfschema.memory_aggregate_no_a : incorrect numbers in output add_test innodb_zip.wl6469 : add_test json.json_functions_innodb : add_test main.ps : +# The "select" tests may be a PPC floating point long long precision error +# Need to check this theory, though. +# Maybe usefull conversation: https://github.com/h5py/h5py/issues/817 add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : @@ -611,8 +612,6 @@ 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/comp_err.1* -rm %{buildroot}%{_mandir}/man1/mysql-stress-test.pl.1* -rm %{buildroot}%{_mandir}/man1/mysql-test-run.pl.1* # put logrotate script where it needs to be mkdir -p %{buildroot}%{logrotateddir} @@ -636,11 +635,6 @@ install -p -m 0644 %{SOURCE7} %{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test -# These are in fact identical -rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 -cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 -cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 - %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* @@ -650,7 +644,6 @@ rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d %if %{without embedded} 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} @@ -984,13 +977,19 @@ fi %{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test -%{_mandir}/man1/mysqltest.1* -%{_mandir}/man1/mysqltest_embedded.1* -%{_mandir}/man1/mysql_client_test.1* -%{_mandir}/man1/mysql_client_test_embedded.1* %endif %changelog +* Thu Apr 19 2018 Michal Schorm - 5.7.22-1 +- Rebase to 5.7.22 version +- CVE fixes: #1568963 + CVE-2018-2755 CVE-2018-2758 CVE-2018-2759 CVE-2018-2761 CVE-2018-2762 + CVE-2018-2766 CVE-2018-2769 CVE-2018-2771 CVE-2018-2773 CVE-2018-2775 + CVE-2018-2776 CVE-2018-2777 CVE-2018-2778 CVE-2018-2779 CVE-2018-2780 + CVE-2018-2781 CVE-2018-2782 CVE-2018-2784 CVE-2018-2786 CVE-2018-2787 + CVE-2018-2810 CVE-2018-2812 CVE-2018-2813 CVE-2018-2816 CVE-2018-2817 + CVE-2018-2818 CVE-2018-2819 CVE-2018-2839 CVE-2018-2846 + * Tue Feb 27 2018 Michal Schorm - 5.7.21-6 - Rebuilt after Rawhide & f28 & f27 & f26 merge From b1183251d77bec0d4aa99dc70e056420c55964e1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 19 Apr 2018 23:19:17 +0200 Subject: [PATCH 193/274] Add new sources, delete removed patch --- community-mysql-tirpc.patch | 88 ------------------------------------- sources | 2 +- 2 files changed, 1 insertion(+), 89 deletions(-) delete mode 100644 community-mysql-tirpc.patch diff --git a/community-mysql-tirpc.patch b/community-mysql-tirpc.patch deleted file mode 100644 index 1ddff40..0000000 --- a/community-mysql-tirpc.patch +++ /dev/null @@ -1,88 +0,0 @@ -diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake -index b9c5895..f4569cd 100644 ---- a/rapid/plugin/group_replication/rpcgen.cmake -+++ b/rapid/plugin/group_replication/rpcgen.cmake -@@ -87,6 +87,12 @@ FOREACH(X xcom_vp) - ${XCOM_BASEDIR}/xcom_proto_enum.h - ${XCOM_BASEDIR}/xcom_limits.h) - ELSE() -+ FIND_PROGRAM(RPCGEN_EXECUTABLE rpcgen DOC "path to the rpcgen executable") -+ MARK_AS_ADVANCED(RPCGEN_EXECUTABLE) -+ IF(NOT RPCGEN_EXECUTABLE) -+ MESSAGE(FATAL_ERROR "Could not find rpcgen") -+ ENDIF() -+ - # on unix systems try to generate them if needed - ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} - COMMAND ${CMAKE_COMMAND} -E copy_if_different -@@ -103,10 +109,10 @@ FOREACH(X xcom_vp) - - # generate the sources - COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_h} -- COMMAND rpcgen -C -h -o -+ COMMAND ${RPCGEN_EXECUTABLE} -C -h -o - ${x_gen_h} ${x_tmp_x_canonical_name} - COMMAND ${CMAKE_COMMAND} -E remove -f ${x_gen_c} -- COMMAND rpcgen -C -c -o -+ COMMAND ${RPCGEN_EXECUTABLE} -C -c -o - ${x_gen_c} ${x_tmp_x_canonical_name} - WORKING_DIRECTORY ${gen_xdr_dir} - DEPENDS - -diff --git a/rapid/plugin/group_replication/CMakeLists.txt b/rapid/plugin/group_replication/CMakeLists.txt -index 5bcaa8b..bce9de4 100644 ---- a/rapid/plugin/group_replication/CMakeLists.txt -+++ b/rapid/plugin/group_replication/CMakeLists.txt -@@ -218,6 +218,7 @@ MYSQL_ADD_PLUGIN(group_replication - LINK_LIBRARIES - ${LZ4_LIBRARY} - ${SSL_LIBRARIES} -+ ${TIRPC_LIBRARY} - MODULE_ONLY MODULE_OUTPUT_NAME "group_replication") - - ### INSTALLATION ### -diff --git a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c -index 245dda0..210e124 100644 ---- a/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c -+++ b/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_transport.c -@@ -417,7 +417,11 @@ x_putbytes (XDR *xdrs, const char *bp MY_ATTRIBUTE((unused)), u_int len) - - - static u_int -+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(HAVE_TIRPC) -+x_getpostn(XDR *xdrs) -+#else - x_getpostn (const XDR *xdrs) -+#endif - { - #ifdef OLD_XDR - return (u_int)(xdrs->x_handy); -diff --git a/rapid/plugin/group_replication/rpcgen.cmake b/rapid/plugin/group_replication/rpcgen.cmake -index f4569cd..cccb1c3 100644 ---- a/rapid/plugin/group_replication/rpcgen.cmake -+++ b/rapid/plugin/group_replication/rpcgen.cmake -@@ -93,6 +93,24 @@ FOREACH(X xcom_vp) - MESSAGE(FATAL_ERROR "Could not find rpcgen") - ENDIF() - -+ # First look for tirpc, then the old Sun RPC -+ FIND_PATH(RPC_INCLUDE_DIR -+ NAMES rpc/rpc.h -+ HINTS /usr/include/tirpc -+ NO_DEFAULT_PATH -+ ) -+ FIND_PATH(RPC_INCLUDE_DIR NAMES rpc/rpc.h) -+ IF(NOT RPC_INCLUDE_DIR) -+ MESSAGE(FATAL_ERROR -+ "Could not find rpc/rpc.h in /usr/include or /usr/include/tirpc") -+ ENDIF() -+ MESSAGE(STATUS "RPC_INCLUDE_DIR ${RPC_INCLUDE_DIR}") -+ IF(RPC_INCLUDE_DIR STREQUAL "/usr/include/tirpc") -+ INCLUDE_DIRECTORIES(SYSTEM /usr/include/tirpc) -+ ADD_DEFINITIONS(-DHAVE_TIRPC) -+ SET(TIRPC_LIBRARY tirpc) -+ ENDIF() -+ - # on unix systems try to generate them if needed - ADD_CUSTOM_COMMAND(OUTPUT ${x_gen_h} ${x_gen_c} ${x_tmp_plat_h} - COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/sources b/sources index 0a7bb27..7c10f37 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.21.tar.gz) = 29a1bfa1f5d5e354b66ca8c9fdaf7ee88de3d57bee3c6368861b46ab6d992affb7604577c06f241df542b96ab088c055473fd76584376dd149956ae1dd8726f3 +SHA512 (mysql-boost-5.7.22.tar.gz) = 186c9e9735114e312c65531c70e6b0b9b48b0fe14384b7a6ebfac2c1f91c3f4ac223d06e27a424fc75f57e0aaf2f74d6a8411a8ab9c6fed45c499068d0f1dc2a From 58939b8918ec8d1d1d706190fab7e760817c0053 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 20 Apr 2018 00:34:48 +0200 Subject: [PATCH 194/274] Update failing tests fo 5.7.22 --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 088a50c..647bd37 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -471,6 +471,10 @@ add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif +%ifarch i686 +add_test gis.gis_bugs_crashes : Failing since 5.7.22 release +%endif + popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ From a4a6473e61e6cbbe12e5ffd573e777f0b5f96006 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 25 Apr 2018 10:13:27 +0200 Subject: [PATCH 195/274] Update to 8.0.11 --- boost-1.54.0-locale-unused_typedef.patch | 11 - boost-1.57.0-spirit-unused_typedef.patch | 19 - boost-1.59-python-make_setter.patch | 25 -- boost-1.59-test-fenv.patch | 32 -- boost-1.59.0-log.patch | 106 ----- community-mysql-5.7.9-major.patch | 11 - community-mysql-arm32-timer.patch | 14 + community-mysql-chain-certs.patch | 39 +- community-mysql-file-contents.patch | 18 +- community-mysql-libxcrypt.patch | 38 -- community-mysql-logrotate.patch | 85 ---- community-mysql-openssl11.patch | 517 ----------------------- community-mysql-paths.patch | 128 +----- community-mysql-s390-tsc.patch | 40 +- community-mysql-sharedir.patch | 77 ++-- community-mysql.spec | 209 ++++----- sources | 2 +- 17 files changed, 187 insertions(+), 1184 deletions(-) delete mode 100644 boost-1.54.0-locale-unused_typedef.patch delete mode 100644 boost-1.57.0-spirit-unused_typedef.patch delete mode 100644 boost-1.59-python-make_setter.patch delete mode 100644 boost-1.59-test-fenv.patch delete mode 100644 boost-1.59.0-log.patch delete mode 100644 community-mysql-5.7.9-major.patch create mode 100644 community-mysql-arm32-timer.patch delete mode 100644 community-mysql-libxcrypt.patch delete mode 100644 community-mysql-logrotate.patch delete mode 100644 community-mysql-openssl11.patch diff --git a/boost-1.54.0-locale-unused_typedef.patch b/boost-1.54.0-locale-unused_typedef.patch deleted file mode 100644 index b7c9128..0000000 --- a/boost-1.54.0-locale-unused_typedef.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -urp boost_1_54_0-orig/boost/locale/boundary/segment.hpp boost_1_54_0/boost/locale/boundary/segment.hpp ---- boost_1_54_0-orig/boost/locale/boundary/segment.hpp 2013-07-23 00:47:27.020787174 +0200 -+++ boost_1_54_0/boost/locale/boundary/segment.hpp 2013-07-23 00:50:40.382959016 +0200 -@@ -27,7 +27,6 @@ namespace boundary { - int compare_text(LeftIterator l_begin,LeftIterator l_end,RightIterator r_begin,RightIterator r_end) - { - typedef LeftIterator left_iterator; -- typedef RightIterator right_iterator; - typedef typename std::iterator_traits::value_type char_type; - typedef std::char_traits traits; - while(l_begin!=l_end && r_begin!=r_end) { diff --git a/boost-1.57.0-spirit-unused_typedef.patch b/boost-1.57.0-spirit-unused_typedef.patch deleted file mode 100644 index 2829629..0000000 --- a/boost-1.57.0-spirit-unused_typedef.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp\~ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp ---- boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp~ 2014-10-13 12:21:40.000000000 +0200 -+++ boost_1_57_0/boost/spirit/home/classic/core/non_terminal/impl/grammar.ipp 2015-01-20 13:25:50.069710766 +0100 -@@ -282,12 +282,12 @@ struct grammar_definition - #if !defined(BOOST_SPIRIT_SINGLE_GRAMMAR_INSTANCE) - typedef impl::grammar_helper_base helper_base_t; - typedef grammar_helper_list helper_list_t; -- typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; - - helper_list_t& helpers = - grammartract_helper_list::do_(self); - - # if defined(BOOST_INTEL_CXX_VERSION) -+ typedef typename helper_list_t::vector_t::reverse_iterator iterator_t; - for (iterator_t i = helpers.rbegin(); i != helpers.rend(); ++i) - (*i)->undefine(self); - # else - -Diff finished. Tue Jan 20 13:25:53 2015 diff --git a/boost-1.59-python-make_setter.patch b/boost-1.59-python-make_setter.patch deleted file mode 100644 index 6c00658..0000000 --- a/boost-1.59-python-make_setter.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f410fbd64d887e2a8824f968b0533588489b5430 Mon Sep 17 00:00:00 2001 -From: Jonathan Wakely -Date: Wed, 2 Sep 2015 13:02:12 +0100 -Subject: [PATCH] Python: Fix condition for make_setter overload. - -This fixes the regression caused by 42e7d7b. - -Fixes #39 ---- - include/boost/python/data_members.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/python/data_members.hpp b/include/boost/python/data_members.hpp -index 139bde3..5d3309c 100644 ---- a/include/boost/python/data_members.hpp -+++ b/include/boost/python/data_members.hpp -@@ -305,7 +305,7 @@ inline object make_setter(D& x) - return detail::make_setter(x, default_call_policies(), is_member_pointer(), 0); - } - --# if BOOST_WORKAROUND(__EDG_VERSION__, <= 238) -+# if !BOOST_WORKAROUND(__EDG_VERSION__, <= 238) - template - inline object make_setter(D const& x) - { diff --git a/boost-1.59-test-fenv.patch b/boost-1.59-test-fenv.patch deleted file mode 100644 index df87f56..0000000 --- a/boost-1.59-test-fenv.patch +++ /dev/null @@ -1,32 +0,0 @@ -commit 2f3b98e640c25fe45ae691a5aa950745380b983e -Author: Jonathan Wakely -Date: Mon Sep 14 15:05:24 2015 +0100 - - Do not qualify names that might be macros. - -diff --git a/include/boost/test/impl/execution_monitor.ipp b/include/boost/test/impl/execution_monitor.ipp -index 3a9e779..8b319df 100644 ---- a/include/boost/test/impl/execution_monitor.ipp -+++ b/include/boost/test/impl/execution_monitor.ipp -@@ -1380,8 +1380,8 @@ enable( unsigned mask ) - - return ~old_cw & BOOST_FPE_ALL; - #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) -- ::feclearexcept(BOOST_FPE_ALL); -- int res = ::feenableexcept( mask ); -+ feclearexcept(BOOST_FPE_ALL); -+ int res = feenableexcept( mask ); - return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; - #else - /* Not Implemented */ -@@ -1417,8 +1417,8 @@ disable( unsigned mask ) - - return ~old_cw & BOOST_FPE_ALL; - #elif defined(__GLIBC__) && defined(__USE_GNU) && !defined(BOOST_CLANG) && !defined(BOOST_NO_FENV_H) -- ::feclearexcept(BOOST_FPE_ALL); -- int res = ::fedisableexcept( mask ); -+ feclearexcept(BOOST_FPE_ALL); -+ int res = fedisableexcept( mask ); - return res == -1 ? (unsigned)BOOST_FPE_INV : (unsigned)res; - #else - /* Not Implemented */ diff --git a/boost-1.59.0-log.patch b/boost-1.59.0-log.patch deleted file mode 100644 index 844b3ff..0000000 --- a/boost-1.59.0-log.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 7da193fde1a9c1bc925ee980339f4df2e1a66fa7 Mon Sep 17 00:00:00 2001 -From: Andrey Semashev -Date: Sun, 23 Aug 2015 17:27:20 +0300 -Subject: [PATCH] Fixed compilation of operator<< into a record ostream, when - the operator right hand argument is not directly supported by - formatting_ostream. Fixed #11549. - ---- - -diff --git a/include/boost/log/sources/record_ostream.hpp b/include/boost/log/sources/record_ostream.hpp -index b3c58e2..c1e8059 100644 ---- a/include/boost/log/sources/record_ostream.hpp -+++ b/include/boost/log/sources/record_ostream.hpp -@@ -39,6 +39,18 @@ namespace boost { - - BOOST_LOG_OPEN_NAMESPACE - -+template< typename CharT > -+class basic_record_ostream; -+ -+namespace aux { -+ -+template< typename StreamT, typename R > -+struct enable_if_record_ostream {}; -+template< typename CharT, typename R > -+struct enable_if_record_ostream< basic_record_ostream< CharT >, R > { typedef R type; }; -+ -+} // namespace aux -+ - /*! - * \brief Logging record adapter with a streaming capability - * -@@ -174,6 +186,55 @@ typedef basic_record_ostream< char > record_ostream; //!< Convenience typ - typedef basic_record_ostream< wchar_t > wrecord_ostream; //!< Convenience typedef for wide-character logging - #endif - -+// Implementation note: these operators below should be the least attractive for the compiler -+// so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. -+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload -+// would be more preferred than the typical one written by users: -+// -+// record_ostream& operator<< (record_ostream& strm, my_type const& arg); -+// -+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required -+// if there is a perfect forwarding overload. -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT& strm, T const& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT& strm, T& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -+ -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT&& strm, T const& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+template< typename StreamT, typename T > -+inline typename boost::log::aux::enable_if_record_ostream< StreamT, StreamT& >::type -+operator<< (StreamT&& strm, T& value) -+{ -+ typedef basic_formatting_ostream< typename StreamT::char_type > formatting_ostream_type; -+ static_cast< formatting_ostream_type& >(strm) << value; -+ return strm; -+} -+ -+#endif // !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -+ - namespace aux { - - //! Internal class that provides formatting streams for record pumps -diff --git a/include/boost/log/utility/formatting_ostream.hpp b/include/boost/log/utility/formatting_ostream.hpp -index 4345206..744acc0 100644 ---- a/include/boost/log/utility/formatting_ostream.hpp -+++ b/include/boost/log/utility/formatting_ostream.hpp -@@ -779,6 +779,13 @@ void basic_formatting_ostream< CharT, TraitsT, AllocatorT >::aligned_write(const - - // Implementation note: these operators below should be the least attractive for the compiler - // so that user's overloads are chosen, when present. We use function template partial ordering for this purpose. -+// We also don't use perfect forwarding for the right hand argument because in ths case the generic overload -+// would be more preferred than the typical one written by users: -+// -+// formatting_ostream& operator<< (formatting_ostream& strm, my_type const& arg); -+// -+// This is because my_type rvalues require adding const to the type, which counts as a conversion that is not required -+// if there is a perfect forwarding overload. - template< typename StreamT, typename T > - inline typename boost::log::aux::enable_if_formatting_ostream< StreamT, StreamT& >::type - operator<< (StreamT& strm, T const& value) diff --git a/community-mysql-5.7.9-major.patch b/community-mysql-5.7.9-major.patch deleted file mode 100644 index 72f5bd6..0000000 --- a/community-mysql-5.7.9-major.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- mysql-5.7.10/cmake/mysql_version.cmake.orig 2015-11-29 20:16:24.000000000 +0100 -+++ mysql-5.7.10/cmake/mysql_version.cmake 2015-12-16 14:15:49.129269372 +0100 -@@ -17,7 +17,7 @@ - # Global constants, only to be changed between major releases. - # - --SET(SHARED_LIB_MAJOR_VERSION "20") -+SET(SHARED_LIB_MAJOR_VERSION "1020") - SET(SHARED_LIB_MINOR_VERSION "3") - SET(PROTOCOL_VERSION "10") - SET(DOT_FRM_VERSION "6") diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch new file mode 100644 index 0000000..6d47307 --- /dev/null +++ b/community-mysql-arm32-timer.patch @@ -0,0 +1,14 @@ +--- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100 ++++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100 +@@ -311,6 +311,11 @@ + ("The member has resumed contact with a majority of the members in the group.*"), + ("Members removed from the group.*"), + ++ /* ++ ARM32 don't support timers and get this warning in every test. ++ */ ++ ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."), ++ + ("THE_LAST_SUPPRESSION")|| + + diff --git a/community-mysql-chain-certs.patch b/community-mysql-chain-certs.patch index 164c22e..5f26c48 100644 --- a/community-mysql-chain-certs.patch +++ b/community-mysql-chain-certs.patch @@ -8,34 +8,17 @@ have any ill effects in a yassl build. Since we don't use yassl in Red Hat/ Fedora builds, I'm not feeling motivated to try to fix yassl for this. See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158 - - -diff -Naur mysql-5.5.28.orig/extra/yassl/src/ssl.cpp mysql-5.5.28/extra/yassl/src/ssl.cpp ---- mysql-5.5.28.orig/extra/yassl/src/ssl.cpp 2012-08-29 04:50:46.000000000 -0400 -+++ mysql-5.5.28/extra/yassl/src/ssl.cpp 2012-09-29 12:45:19.682287214 -0400 -@@ -1627,10 +1627,10 @@ - } - -- int SSL_CTX_use_certificate_chain_file(SSL_CTX*, const char*) -+ int SSL_CTX_use_certificate_chain_file(SSL_CTX* ctx, const char* file) - { -- // TDOD: -- return SSL_SUCCESS; -+ // For the moment, treat like use_certificate_file -+ return read_file(ctx, file, SSL_FILETYPE_PEM, Cert); - } - - -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-09-29 12:46:35.124975585 -0400 -@@ -106,7 +106,7 @@ - key_file= cert_file; +diff --git a/vio/viosslfactories.cc b/vio/viosslfactories.cc +index 5e881e3..2927e7f 100644 +--- a/vio/viosslfactories.cc ++++ b/vio/viosslfactories.cc +@@ -198,7 +198,7 @@ static int vio_set_cert_stuff(SSL_CTX *ctx, const char *cert_file, + if (!key_file && cert_file) key_file = cert_file; if (cert_file && -- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) -+ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) - { - *error= SSL_INITERR_CERT; - DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file)); +- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0) { ++ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0) { + *error = SSL_INITERR_CERT; + DBUG_PRINT("error", + ("%s from file '%s'", sslGetErrString(*error), cert_file)); diff --git a/community-mysql-file-contents.patch b/community-mysql-file-contents.patch index ed72d5c..0f1cdba 100644 --- a/community-mysql-file-contents.patch +++ b/community-mysql-file-contents.patch @@ -5,20 +5,20 @@ to know about this. Recommendation they change is at http://bugs.mysql.com/bug.php?id=61425 - -diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22/mysql-test/t/file_contents.test ---- mysql-5.6.22/mysql-test/t/file_contents.test.file-contents 2014-12-03 15:05:18.629731527 +0100 -+++ mysql-5.6.22/mysql-test/t/file_contents.test 2014-12-03 15:09:36.082081039 +0100 -@@ -11,7 +11,7 @@ +diff --git a/mysql-test/t/file_contents.test b/mysql-test/t/file_contents.test +index 75f8c93..973291c 100644 +--- a/mysql-test/t/file_contents.test ++++ b/mysql-test/t/file_contents.test +@@ -12,7 +12,7 @@ --perl print "\nChecking 'INFO_SRC' and 'INFO_BIN'\n"; $dir_bin = $ENV{'MYSQL_BINDIR'}; --if ($dir_bin =~ m|/usr/|) { +-if ($dir_bin =~ m|^/usr/|) { +if ($dir_bin =~ m|.*/usr/$|) { # RPM package $dir_docs = $dir_bin; $dir_docs =~ s|/lib|/share/doc|; -@@ -30,7 +30,7 @@ if ($dir_bin =~ m|/usr/|) { +@@ -35,7 +35,7 @@ if ($dir_bin =~ m|^/usr/|) { } } } @@ -27,8 +27,8 @@ diff -up mysql-5.6.22/mysql-test/t/file_contents.test.file-contents mysql-5.6.22 # RPM build during development $dir_docs = "$dir_bin/share/doc"; if(-d "$dir_docs/packages") { -@@ -47,6 +47,15 @@ if ($dir_bin =~ m|/usr/|) { - $dir_docs = glob "$dir_bin/share/mysql/docs"; +@@ -55,6 +55,15 @@ if ($dir_bin =~ m|^/usr/|) { + $dir_docs = glob "$dir_bin/share/mysql-*/docs"; } } + diff --git a/community-mysql-libxcrypt.patch b/community-mysql-libxcrypt.patch deleted file mode 100644 index 177f9bc..0000000 --- a/community-mysql-libxcrypt.patch +++ /dev/null @@ -1,38 +0,0 @@ -Do not assume, that "crypt" function is provided by glibc; #1536881 - ---- mysql-5.7.21/include/my_global.h 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/include/my_global.h_patched 2018-01-22 01:01:42.450315852 +0100 -@@ -49,6 +49,9 @@ - #include - #include /* Recommended by debian */ - #include -+#if defined(HAVE_CRYPT_H) -+#include -+#endif - - #ifdef HAVE_SYS_SOCKET_H - #include - - ---- mysql-5.7.21/configure.cmake 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/configure.cmake_patched 2018-01-22 01:00:09.955057755 +0100 -@@ -493,6 +493,7 @@ CHECK_INCLUDE_FILES (fnmatch.h HAVE_FNMA - CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H) - CHECK_INCLUDE_FILES (vis.h HAVE_VIS_H) # Used by libedit - CHECK_INCLUDE_FILES (sasl/sasl.h HAVE_SASL_SASL_H) # Used by memcached -+CHECK_INCLUDE_FILES (crypt.h HAVE_CRYPT_H) - - # For libevent - CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_DEVPOLL) - - ---- mysql-5.7.21/config.h.cmake 2017-12-28 04:46:26.000000000 +0100 -+++ mysql-5.7.21/config.h.cmake_patched 2018-01-22 01:51:02.522570765 +0100 -@@ -62,6 +62,7 @@ - #cmakedefine HAVE_SYS_UN_H 1 - #cmakedefine HAVE_VIS_H 1 - #cmakedefine HAVE_SASL_SASL_H 1 -+#cmakedefine HAVE_CRYPT_H 1 - - /* Libevent */ - #cmakedefine HAVE_DEVPOLL 1 diff --git a/community-mysql-logrotate.patch b/community-mysql-logrotate.patch deleted file mode 100644 index 7c0b7e5..0000000 --- a/community-mysql-logrotate.patch +++ /dev/null @@ -1,85 +0,0 @@ -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 -up mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate mysql-5.6.19/support-files/mysql-log-rotate.sh ---- mysql-5.6.19/support-files/mysql-log-rotate.sh.logrotate 2014-07-25 11:49:37.237448291 +0200 -+++ mysql-5.6.19/support-files/mysql-log-rotate.sh 2014-07-25 11:53:17.096840857 +0200 -@@ -1,14 +1,13 @@ --# The log file name and location can be set in --# /etc/my.cnf by setting the "log-error" option --# in either [mysqld] or [mysqld_safe] section as --# follows: -+# This logname can be set in /etc/my.cnf -+# by setting the variable "log-error" -+# in the [mysqld_safe] section as follows: - # --# [mysqld] --# log-error=@localstatedir@/mysqld.log -+# [mysqld_safe] -+# log-error=@LOG_LOCATION@ - # --# In case the root user has a password, then you --# have to create a /root/.my.cnf configuration file --# with the following content: -+# If the root user has a password you have to create a -+# /root/.my.cnf configuration file with the following -+# content: - # - # [mysqladmin] - # password = -@@ -16,22 +15,24 @@ - # - # where "" is the password. - # --# ATTENTION: The /root/.my.cnf file should be readable --# _ONLY_ by root ! -+# ATTENTION: This /root/.my.cnf should be readable ONLY -+# for root ! - --@localstatedir@/mysqld.log { -- # create 600 mysql mysql -- notifempty -- daily -- rotate 5 -- 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: -+ -+#@LOG_LOCATION@ { -+# 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/community-mysql-openssl11.patch b/community-mysql-openssl11.patch deleted file mode 100644 index a3c29b7..0000000 --- a/community-mysql-openssl11.patch +++ /dev/null @@ -1,517 +0,0 @@ -Add OpenSSL 1.1 compatibility - -Based on patches in upstream tracker (bellow), and patches from MariaDB for the same feature. - -Upstream tracker: https://bugs.mysql.com/bug.php?id=83814 - -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 09:00:52.578760787 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/mysql_ssl_connection.test 2017-12-08 22:19:40.033870734 +0100 -@@ -7,7 +7,7 @@ - connection default; - CREATE USER u_20693153@localhost IDENTIFIED BY 'abcd'; - ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --protocol=TCP -uu_20693153 -pabcd --ssl-ca=$MYSQL_TEST_DIR/std_data/cacert.pem -e "SHOW STATUS LIKE 'Ssl_cipher';" - - DROP USER u_20693153@localhost; -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 09:00:52.579760795 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/openssl_cert_generation.test 2017-12-08 22:19:40.033870734 +0100 -@@ -183,7 +183,7 @@ let SEARCH_PATTERN= Auto generated SSL c - --file_exists $MYSQLTEST_VARDIR/mysqld.1/data/public_key.pem - - --echo # Ensure that server is ssl enabled ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - #----------------------------------------------------------------------------- - -@@ -285,7 +285,7 @@ grant usage on *.* to wl7699_sha256 iden - - # Using SSL certificates - --echo # Should be able to connect to server using generated SSL certificates. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - # Using RSA key pair - --echo # Should be able to connect to server using RSA key pair. -@@ -351,7 +351,7 @@ show variables like 'sha256%'; - - --echo # 6.3 : SSL connection - --echo # Should be able to connect to server using generated SSL certificates. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - - -@@ -362,7 +362,7 @@ grant usage on *.* to wl7699_sha256 iden - - # Using SSL certificates - --echo # Should be able to connect to server using generated SSL certificates. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uwl7699_sha256 -pabcd --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher'" - # Using RSA key pair - --echo # Should be able to connect to server using RSA key pair. -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 09:00:52.583760826 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/ssl_auto_detect.test 2017-12-08 22:19:40.034870741 +0100 -@@ -54,7 +54,7 @@ let SEARCH_PATTERN= CA certificate .* is - - --echo # Try to establish SSL connection : This must succeed. - connect (ssl_root_1,localhost,root,,,,,SSL); ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - SHOW VARIABLES LIKE 'have_ssl'; - -@@ -68,7 +68,7 @@ connection default; - disconnect ssl_root_1; - - --echo # Connect using mysql client : This must succeed. ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" - - -@@ -140,7 +140,7 @@ let SEARCH_PATTERN= CA certificate .* is - --source include/search_pattern_in_file.inc - - --echo # Try creating SSL connection ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL -uroot --ssl-mode=REQUIRED -e "show status like 'Ssl_cipher';" - - -diff -rup mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test ---- mysql-5.7.20-sslbak/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 09:00:52.584760834 +0100 -+++ mysql-5.7.20/mysql-test/suite/auth_sec/t/tls.test 2017-12-08 22:56:42.786710772 +0100 -@@ -36,7 +36,7 @@ let $cipher_default= DHE-RSA-AES256-SHA; - let $tls_default= TLSv1.1; - let $openssl= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); - if ($openssl == 'Rsa_public_key'){ -- let $cipher_default= DHE-RSA-AES128-GCM-SHA256; -+ let $cipher_default= ECDHE-RSA-AES128-GCM-SHA256; - let $tls_default= TLSv1.2; - } - --echo #T1: Default TLS connection -diff -rup mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test mysql-5.7.20/mysql-test/t/mysql_ssl_default.test ---- mysql-5.7.20-sslbak/mysql-test/t/mysql_ssl_default.test 2017-12-08 09:00:55.717784968 +0100 -+++ mysql-5.7.20/mysql-test/t/mysql_ssl_default.test 2017-12-08 22:19:40.035870748 +0100 -@@ -14,15 +14,15 @@ - - --echo # verify that mysql default connect with ssl channel when using TCP/IP - --echo # connection ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" - - --echo # verify that mysql --ssl=0 connect with unencrypted channel ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=DISABLED - - --echo # verify that mysql --ssl=1 connect with ssl channel ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --host=127.0.0.1 -P $MASTER_MYPORT -e "SHOW STATUS like 'Ssl_cipher'" --ssl-mode=REQUIRED - - CREATE USER u1@localhost IDENTIFIED BY 'secret' REQUIRE SSL; -diff -rup mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test mysql-5.7.20/mysql-test/t/openssl_1.test ---- mysql-5.7.20-sslbak/mysql-test/t/openssl_1.test 2017-12-08 09:00:55.729785060 +0100 -+++ mysql-5.7.20/mysql-test/t/openssl_1.test 2017-12-08 22:19:40.035870748 +0100 -@@ -19,17 +19,17 @@ insert into t1 values (5); - let $cipher_val= "DHE-RSA-AES256-SHA"; - let $shavars= query_get_value("SHOW STATUS LIKE 'Rsa_public_key'", Variable_name, 1); - if ($shavars == 'Rsa_public_key'){ -- let $cipher_val= "DHE-RSA-AES128-GCM-SHA256"; -+ let $cipher_val= "ECDHE-RSA-AES128-GCM-SHA256"; - } - - grant select on test.* to ssl_user1@localhost require SSL; ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user2@localhost require cipher $cipher_val ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user3@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user4@localhost require cipher $cipher_val AND SUBJECT "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=Client" ISSUER "/C=SE/ST=Stockholm/L=Stockholm/O=Oracle/OU=MySQL/CN=CA" ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - -- eval grant select on test.* to ssl_user5@localhost require cipher $cipher_val AND SUBJECT "xxx" - flush privileges; - -@@ -43,7 +43,7 @@ connect (con5,localhost,ssl_user5,,,,,SS - - connection con1; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -51,7 +51,7 @@ delete from t1; - - connection con2; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -59,7 +59,7 @@ delete from t1; - - connection con3; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -67,7 +67,7 @@ delete from t1; - - connection con4; - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - select * from t1; - --error ER_TABLEACCESS_DENIED_ERROR -@@ -142,7 +142,7 @@ drop table t1; - # verification of servers certificate by setting both ca certificate - # and ca path to NULL - # ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-mode=REQUIRED --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 - -@@ -269,7 +269,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-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - disconnect con1; - connection default; -diff -rup mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test ---- mysql-5.7.20-sslbak/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 09:00:55.747785199 +0100 -+++ mysql-5.7.20/mysql-test/t/plugin_auth_sha256_tls.test 2017-12-08 22:19:40.035870748 +0100 -@@ -2,7 +2,7 @@ - --source include/have_ssl.inc - - connect (ssl_con,localhost,root,,,,,SSL); ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test mysql-5.7.20/mysql-test/t/ssl_8k_key.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_8k_key.test 2017-12-08 09:00:55.772785392 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_8k_key.test 2017-12-08 22:19:40.036870755 +0100 -@@ -4,7 +4,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-mode=REQUIRED --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-5.7.20-sslbak/mysql-test/t/ssl_ca.test mysql-5.7.20/mysql-test/t/ssl_ca.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_ca.test 2017-12-08 09:00:55.773785399 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_ca.test 2017-12-08 22:19:40.036870755 +0100 -@@ -10,7 +10,7 @@ - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/wrong-crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" 2>&1 - - --echo # try to connect with correct '--ssl-ca' path : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # -@@ -22,15 +22,15 @@ - - --echo # try to connect with '--ssl-ca' option using tilde home directoy - --echo # path substitution : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$mysql_test_dir_path/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # try to connect with '--ssl-key' option using tilde home directoy - --echo # path substitution : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$mysql_test_dir_path/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # try to connect with '--ssl-cert' option using tilde home directoy - --echo # path substitution : should connect ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$mysql_test_dir_path/std_data/crl-client-cert.pem test -e "SHOW STATUS LIKE 'Ssl_cipher'" -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test mysql-5.7.20/mysql-test/t/ssl_compress.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_compress.test 2017-12-08 09:00:55.774785407 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_compress.test 2017-12-08 22:19:40.036870755 +0100 -@@ -17,7 +17,7 @@ - connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Compression'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check compression turned on -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test mysql-5.7.20/mysql-test/t/ssl_crl.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl_crl.test 2017-12-08 09:00:55.774785407 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl_crl.test 2017-12-08 22:19:40.037870762 +0100 -@@ -32,9 +32,11 @@ if (!$crllen) - --echo # try to connect with '--ssl-crl' option using tilde home directoy - --echo # path substitution : should connect - --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem test --ssl-crl=$mysql_test_dir_path/std_data/crl-client-revoked.crl -e "SHOW STATUS LIKE 'Ssl_cipher'" - - --echo # try to connect with '--ssl-crlpath' option using tilde home directoy - --echo # path substitution : should connect - --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 DHE-RSA-AES128-GCM-SHA256 - --exec $MYSQL --ssl-ca=$MYSQL_TEST_DIR/std_data/crl-ca-cert.pem --ssl-key=$MYSQL_TEST_DIR/std_data/crl-client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/crl-client-cert.pem --ssl-crlpath=$mysql_test_dir_path/std_data/crldir test -e "SHOW STATUS LIKE 'Ssl_cipher'" -diff -rup mysql-5.7.20-sslbak/mysql-test/t/ssl.test mysql-5.7.20/mysql-test/t/ssl.test ---- mysql-5.7.20-sslbak/mysql-test/t/ssl.test 2017-12-08 09:00:55.772785392 +0100 -+++ mysql-5.7.20/mysql-test/t/ssl.test 2017-12-08 22:19:40.037870762 +0100 -@@ -16,7 +16,7 @@ - connect (ssl_con,localhost,root,,,,,SSL); - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - # Check ssl expiration -@@ -27,7 +27,7 @@ SHOW STATUS LIKE 'Ssl_server_not_after'; - -- source include/common-tests.inc - - # Check ssl turned on ----replace_result DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER -+--replace_result ECDHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES128-GCM-SHA256 SSL_CIPHER DHE-RSA-AES256-SHA SSL_CIPHER - SHOW STATUS LIKE 'Ssl_cipher'; - - connection default; -diff -rup mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc mysql-5.7.20/mysys_ssl/my_aes_openssl.cc ---- mysql-5.7.20-sslbak/mysys_ssl/my_aes_openssl.cc 2017-12-08 09:00:55.851786000 +0100 -+++ mysql-5.7.20/mysys_ssl/my_aes_openssl.cc 2017-12-08 22:19:40.037870762 +0100 -@@ -122,7 +122,7 @@ int my_aes_encrypt(const unsigned char * - enum my_aes_opmode mode, const unsigned char *iv, - bool padding) - { -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); - const EVP_CIPHER *cipher= aes_evp_type(mode); - int u_len, f_len; - /* The real key to be used for encryption */ -@@ -132,23 +132,23 @@ int my_aes_encrypt(const unsigned char * - if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) - return MY_AES_BAD_DATA; - -- if (!EVP_EncryptInit(&ctx, cipher, rkey, iv)) -+ if (!EVP_EncryptInit(ctx, cipher, rkey, iv)) - goto aes_error; /* Error */ -- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) -+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) - goto aes_error; /* Error */ -- if (!EVP_EncryptUpdate(&ctx, dest, &u_len, source, source_length)) -+ if (!EVP_EncryptUpdate(ctx, dest, &u_len, source, source_length)) - goto aes_error; /* Error */ - -- if (!EVP_EncryptFinal(&ctx, dest + u_len, &f_len)) -+ if (!EVP_EncryptFinal(ctx, dest + u_len, &f_len)) - goto aes_error; /* Error */ - -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return u_len + f_len; - - aes_error: - /* need to explicitly clean up the error if we want to ignore it */ - ERR_clear_error(); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return MY_AES_BAD_DATA; - } - -@@ -159,7 +159,7 @@ int my_aes_decrypt(const unsigned char * - bool padding) - { - -- EVP_CIPHER_CTX ctx; -+ EVP_CIPHER_CTX *ctx = EVP_CIPHER_CTX_new(); - const EVP_CIPHER *cipher= aes_evp_type(mode); - int u_len, f_len; - -@@ -170,24 +170,22 @@ int my_aes_decrypt(const unsigned char * - if (!cipher || (EVP_CIPHER_iv_length(cipher) > 0 && !iv)) - return MY_AES_BAD_DATA; - -- EVP_CIPHER_CTX_init(&ctx); -- -- if (!EVP_DecryptInit(&ctx, aes_evp_type(mode), rkey, iv)) -+ if (!EVP_DecryptInit(ctx, aes_evp_type(mode), rkey, iv)) - goto aes_error; /* Error */ -- if (!EVP_CIPHER_CTX_set_padding(&ctx, padding)) -+ if (!EVP_CIPHER_CTX_set_padding(ctx, padding)) - goto aes_error; /* Error */ -- if (!EVP_DecryptUpdate(&ctx, dest, &u_len, source, source_length)) -+ if (!EVP_DecryptUpdate(ctx, dest, &u_len, source, source_length)) - goto aes_error; /* Error */ -- if (!EVP_DecryptFinal_ex(&ctx, dest + u_len, &f_len)) -+ if (!EVP_DecryptFinal_ex(ctx, dest + u_len, &f_len)) - goto aes_error; /* Error */ - -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return u_len + f_len; - - aes_error: - /* need to explicitly clean up the error if we want to ignore it */ - ERR_clear_error(); -- EVP_CIPHER_CTX_cleanup(&ctx); -+ EVP_CIPHER_CTX_free(ctx); - return MY_AES_BAD_DATA; - } - -diff -rup mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c ---- mysql-5.7.20-sslbak/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 09:00:55.975786955 +0100 -+++ mysql-5.7.20/rapid/plugin/group_replication/libmysqlgcs/src/bindings/xcom/xcom/xcom_ssl_transport.c 2017-12-08 22:19:40.037870762 +0100 -@@ -104,7 +104,7 @@ static const char* tls_cipher_blocked= " - mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== - -----END DH PARAMETERS----- - */ --static unsigned char dh2048_p[]= -+static unsigned char dhp_2048[]= - { - 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, - 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, -@@ -131,20 +131,24 @@ static unsigned char dh2048_p[]= - }; - - --static unsigned char dh2048_g[]={ -+static unsigned char dhg_2048[]={ - 0x05, - }; - - static DH *get_dh2048(void) - { -- DH *dh; -- if ((dh=DH_new())) -+ DH *dh = DH_new(); -+ BIGNUM *dhp_bn, *dhg_bn; -+ if (dh != NULL) - { -- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -- if (! dh->p || ! dh->g) -+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); -+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); -+ if (dhp_bn == NULL || dhg_bn == NULL -+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) - { - DH_free(dh); -+ BN_free(dhp_bn); -+ BN_free(dhg_bn); - dh=0; - } - } -diff -rup mysql-5.7.20-sslbak/sql/mysqld.cc mysql-5.7.20/sql/mysqld.cc ---- mysql-5.7.20-sslbak/sql/mysqld.cc 2017-12-08 09:00:56.309789528 +0100 -+++ mysql-5.7.20/sql/mysqld.cc 2017-12-08 22:19:40.039870776 +0100 -@@ -3376,7 +3376,7 @@ static int init_ssl() - { - #ifdef HAVE_OPENSSL - #ifndef HAVE_YASSL -- CRYPTO_malloc_init(); -+ OPENSSL_malloc_init(); - #endif - ssl_start(); - #ifndef EMBEDDED_LIBRARY -diff -rup mysql-5.7.20-sslbak/sql-common/client.c mysql-5.7.20/sql-common/client.c ---- mysql-5.7.20-sslbak/sql-common/client.c 2017-12-08 09:00:56.245789035 +0100 -+++ mysql-5.7.20/sql-common/client.c 2017-12-08 22:19:40.040870783 +0100 -@@ -2741,7 +2741,7 @@ static int ssl_verify_server_cert(Vio *v - goto error; - } - -- cn= (char *) ASN1_STRING_data(cn_asn1); -+ cn= (char *) ASN1_STRING_get0_data(cn_asn1); - - // There should not be any NULL embedded in the CN - if ((size_t)ASN1_STRING_length(cn_asn1) != strlen(cn)) -diff -rup mysql-5.7.20-sslbak/vio/viosslfactories.c mysql-5.7.20/vio/viosslfactories.c ---- mysql-5.7.20-sslbak/vio/viosslfactories.c 2017-12-08 09:00:56.807793365 +0100 -+++ mysql-5.7.20/vio/viosslfactories.c 2017-12-08 22:19:40.040870783 +0100 -@@ -86,7 +86,7 @@ static my_bool ssl_initialized - mjxx/bg6bOOjpgZapvB6ABWlWmRmAAWFtwIBBQ== - -----END DH PARAMETERS----- - */ --static unsigned char dh2048_p[]= -+static unsigned char dhp_2048[]= - { - 0x8A, 0x5D, 0xFA, 0xC0, 0x66, 0x76, 0x4E, 0x61, 0xFA, 0xCA, 0xC0, 0x37, - 0x57, 0x5C, 0x6D, 0x3F, 0x83, 0x0A, 0xA1, 0xF5, 0xF1, 0xE6, 0x7F, 0x3C, -@@ -112,20 +112,25 @@ static unsigned char dh2048_p[]= - 0x00, 0x05, 0x85, 0xB7, - }; - --static unsigned char dh2048_g[]={ -+static unsigned char dhg_2048[]={ - 0x05, - }; - - static DH *get_dh2048(void) - { -- DH *dh; -- if ((dh=DH_new())) -+ DH *dh = DH_new(); -+ BIGNUM *dhp_bn, *dhg_bn; -+ -+ if (dh != NULL) - { -- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -- if (! dh->p || ! dh->g) -+ dhp_bn = BN_bin2bn(dhp_2048, sizeof (dhp_2048), NULL); -+ dhg_bn = BN_bin2bn(dhg_2048, sizeof (dhg_2048), NULL); -+ if (dhp_bn == NULL || dhg_bn == NULL -+ || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn)) - { - DH_free(dh); -+ BN_free(dhp_bn); -+ BN_free(dhg_bn); - dh=0; - } - } -@@ -419,9 +424,7 @@ void ssl_start() - { - ssl_initialized= TRUE; - -- SSL_library_init(); -- OpenSSL_add_all_algorithms(); -- SSL_load_error_strings(); -+ OPENSSL_init_ssl(0, NULL); - - #ifndef HAVE_YASSL - init_ssl_locks(); diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 7f9ed93..20b77d5 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -3,96 +3,11 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 - -diff -up --recursive mysql-5.7.8.orig/client/mysql_plugin.c mysql-5.7.8/client/mysql_plugin.c ---- mysql-5.7.8.orig/client/mysql_plugin.c 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/client/mysql_plugin.c 2015-09-23 13:32:57.711495542 +0200 -@@ -94,6 +94,7 @@ static int find_plugin(char *tp_path); - static int build_bootstrap_file(char *operation, char *bootstrap); - static int dump_bootstrap_file(char *bootstrap_file); - static int bootstrap_server(char *server_path, char *bootstrap_file); -+static int find_file_in_path(const char *name, char *to); - - - int main(int argc,char *argv[]) -@@ -125,7 +126,7 @@ int main(int argc,char *argv[]) - */ - if ((error= process_options(argc, argv, operation)) || - (error= check_access()) || -- (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; -@@ -331,7 +332,7 @@ static int get_default_values() - FILE *file= 0; - - memset(tool_path, 0, 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 - { -@@ -1014,6 +1015,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(const char *name, char *to) -+{ -+ 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(my_stpnmov(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 --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cmake/install_layout.cmake ---- mysql-5.7.8.orig/cmake/install_layout.cmake 2015-07-20 14:25:07.000000000 +0200 -+++ mysql-5.7.8/cmake/install_layout.cmake 2015-09-23 13:32:57.711495542 +0200 -@@ -107,7 +107,7 @@ IF(UNIX) +diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake +index ec2b492..43e4ccd 100644 +--- a/cmake/install_layout.cmake ++++ b/cmake/install_layout.cmake +@@ -114,7 +114,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -101,18 +16,19 @@ diff -up --recursive mysql-5.7.8.orig/cmake/install_layout.cmake mysql-5.7.8/cma CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -321,6 +321,7 @@ SET(INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR +@@ -318,6 +318,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) + # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") - SET(INSTALL_SCRIPTDIR_RPM "bin") +SET(INSTALL_SYSCONFDIR_RPM "/etc") # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") -diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ssl/my_default.cc ---- mysql-5.7.8.orig/mysys_ssl/my_default.cc 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysys_ssl/my_default.cc 2015-09-23 13:32:57.712495541 +0200 -@@ -1404,12 +1404,12 @@ static const char **init_default_directo +diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc +index 2d76700..02c5885 100644 +--- a/mysys_ssl/my_default.cc ++++ b/mysys_ssl/my_default.cc +@@ -1733,12 +1733,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) #else @@ -128,10 +44,11 @@ diff -up --recursive mysql-5.7.8.orig/mysys_ssl/my_default.cc mysql-5.7.8/mysys_ #endif /* DEFAULT_SYSCONFDIR */ #endif -diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt ---- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-23 13:43:47.463665346 +0200 -@@ -295,7 +295,7 @@ ELSE() +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index c66a910..af9bc9e 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -324,7 +324,7 @@ ELSE() ENDIF() SET(prefix "${CMAKE_INSTALL_PREFIX}") @@ -139,11 +56,12 @@ diff -up --recursive mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts +SET(sysconfdir ${SYSCONFDIR}) SET(bindir ${prefix}/${INSTALL_BINDIR}) SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) - SET(scriptdir ${prefix}/${INSTALL_BINDIR}) -diff -up --recursive mysql-5.7.8.orig/scripts/mysqld_multi.sh mysql-5.7.8/scripts/mysqld_multi.sh ---- mysql-5.7.8.orig/scripts/mysqld_multi.sh 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/scripts/mysqld_multi.sh 2015-09-23 13:32:57.712495541 +0200 -@@ -573,9 +573,7 @@ sub list_defaults_files + SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) +diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh +index 5ad36e7..5dd032f 100644 +--- a/scripts/mysqld_multi.sh ++++ b/scripts/mysqld_multi.sh +@@ -572,9 +572,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 $_ } diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index 91bfc10..7e5eee3 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -1,23 +1,23 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 - -diff -up --recursive mysql-5.7.9.orig/include/my_rdtsc.h mysql-5.7.9/include/my_rdtsc.h ---- mysql-5.7.9.orig/include/my_rdtsc.h 2015-10-12 08:21:33.000000000 +0200 -+++ mysql-5.7.9/include/my_rdtsc.h 2015-11-10 16:33:36.037432669 +0100 -@@ -125,6 +125,7 @@ C_MODE_END +diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h +index 65f7df1..a28f470 100644 +--- a/include/my_rdtsc.h ++++ b/include/my_rdtsc.h +@@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti); #define MY_TIMER_ROUTINE_GETSYSTEMTIMEASFILETIME 26 - #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 - #define MY_TIMER_ROUTINE_ASM_AARCH64 28 -+#define MY_TIMER_ROUTINE_ASM_S390 29 + #define MY_TIMER_ROUTINE_ASM_SUNPRO_X86_64 27 + #define MY_TIMER_ROUTINE_ASM_AARCH64 28 ++#define MY_TIMER_ROUTINE_ASM_S390 29 #endif - -diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdtsc.c ---- mysql-5.7.9.orig/mysys/my_rdtsc.c 2015-10-12 08:21:33.000000000 +0200 -+++ mysql-5.7.9/mysys/my_rdtsc.c 2015-11-10 16:33:36.038432668 +0100 -@@ -183,6 +183,13 @@ ulonglong my_timer_cycles(void) - __asm __volatile__ ("mrs %[rt],cntvct_el0" : [rt] "=r" (result)); +diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc +index ec8e855..c3408b1 100644 +--- a/mysys/my_rdtsc.cc ++++ b/mysys/my_rdtsc.cc +@@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) { + __asm __volatile__("mrs %[rt],cntvct_el0" : [rt] "=r"(result)); return result; } +#elif defined(__GNUC__) && defined(__s390__) @@ -29,13 +29,13 @@ diff -up --recursive mysql-5.7.9.orig/mysys/my_rdtsc.c mysql-5.7.9/mysys/my_rdts + } #elif defined(HAVE_SYS_TIMES_H) && defined(HAVE_GETHRTIME) /* gethrtime may appear as either cycle or nanosecond counter */ - return (ulonglong) gethrtime(); -@@ -487,6 +494,8 @@ void my_timer_init(MY_TIMER_INFO *mti) - mti->cycles.routine= MY_TIMER_ROUTINE_ASM_GCC_SPARC32; + return (ulonglong)gethrtime(); +@@ -505,6 +512,8 @@ void my_timer_init(MY_TIMER_INFO *mti) { + mti->cycles.routine = MY_TIMER_ROUTINE_ASM_GCC_SPARC32; #elif defined(__GNUC__) && defined(__aarch64__) - mti->cycles.routine= MY_TIMER_ROUTINE_ASM_AARCH64; + mti->cycles.routine = MY_TIMER_ROUTINE_ASM_AARCH64; +#elif defined(__GNUC__) && defined(__s390__) -+ mti->cycles.routine= MY_TIMER_ROUTINE_ASM_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; + mti->cycles.routine = MY_TIMER_ROUTINE_GETHRTIME; #else diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 6ceaed2..543affd 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,46 +1,9 @@ -diff -up --recursive mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm ---- mysql-5.7.8.orig/mysql-test/lib/My/ConfigFactory.pm 2015-07-20 14:25:09.000000000 +0200 -+++ mysql-5.7.8/mysql-test/lib/My/ConfigFactory.pm 2015-09-23 13:51:18.655091136 +0200 -@@ -36,7 +36,7 @@ my @pre_rules= - ); - - --my @share_locations= ("share/mysql", "sql/share", "share"); -+my @share_locations= ("@INSTALL_MYSQLSHAREDIR@", "sql/share", "share"); - - - sub get_basedir { -diff -up --recursive mysql-5.7.8.orig/mysql-test/mysql-test-run.pl mysql-5.7.8/mysql-test/mysql-test-run.pl ---- mysql-5.7.8.orig/mysql-test/mysql-test-run.pl 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/mysql-test-run.pl 2015-09-23 13:52:50.023961144 +0200 -@@ -1282,11 +1282,11 @@ sub command_line_setup { - } - - # Look for language files and charsetsdir, use same share -- $path_language= mtr_path_exists("$bindir/share/mysql", -+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", - "$bindir/sql/share", - "$bindir/share"); - my $path_share= $path_language; -- $path_charsetsdir = mtr_path_exists("$basedir/share/mysql/charsets", -+ $path_charsetsdir = mtr_path_exists("$basedir/@INSTALL_MYSQLSHAREDIR@/charsets", - "$basedir/sql/share/charsets", - "$basedir/share/charsets"); - -@@ -3729,7 +3729,7 @@ sub mysql_install_db { - } - - my $path_sql= my_find_file($install_basedir, -- ["mysql", "sql/share", "share/mysql", -+ ["mysql", "sql/share", "@INSTALL_MYSQLSHAREDIR@", - "share", "scripts"], - "mysql_system_tables.sql", - NOT_REQUIRED); -diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysql-test/CMakeLists.txt ---- mysql-5.7.8.orig/mysql-test/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/mysql-test/CMakeLists.txt 2015-09-23 13:53:57.694863067 +0200 -@@ -33,6 +33,10 @@ ENDIF() - +diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt +index 7c1e82b..a92ba91 100644 +--- a/mysql-test/CMakeLists.txt ++++ b/mysql-test/CMakeLists.txt +@@ -56,6 +56,10 @@ INSTALL( + ENDIF() +# Expand some paths in the perl scripts correctly @@ -50,3 +13,31 @@ diff -up --recursive mysql-5.7.8.orig/mysql-test/CMakeLists.txt mysql-5.7.8/mysq IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) # Enable running mtr from build directory CONFIGURE_FILE( +diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl +index e9130dd..388c039 100755 +--- a/mysql-test/mysql-test-run.pl ++++ b/mysql-test/mysql-test-run.pl +@@ -1535,11 +1535,13 @@ sub command_line_setup { + } + + # Look for language files and charsetsdir, use same share +- $path_language= mtr_path_exists("$bindir/share/mysql", ++ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", ++ "$bindir/share/mysql", + "$bindir/share"); + my $path_share= $path_language; + +- @share_locations= ("share/mysql", ++ @share_locations= ("@INSTALL_MYSQLSHAREDIR@", ++ "share/mysql", + "share/mysql-" . $mysql_base_version, + "share"); + +@@ -4140,6 +4142,7 @@ sub mysql_install_db { + + my $path_sql= my_find_file($install_basedir, + ["mysql", "share/mysql", ++ "@INSTALL_MYSQLSHAREDIR@", + "share/mysql-" . $mysql_base_version, + "share", "scripts"], + "mysql_system_tables.sql", diff --git a/community-mysql.spec b/community-mysql.spec index 647bd37..18e8585 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -10,15 +10,6 @@ # Set this to 1 to see which tests fail %global check_testsuite 0 -# set to 1 to enable -%if 0%{?fedora} > 27 -# Deprecate patch 70, because MariaDB renamed its library to libmariadb.so -%global with_shared_lib_major_hack 0 -%else -%global with_shared_lib_major_hack 1 -%endif - - # In f20+ use unversioned docdirs, otherwise the old versioned one %global _pkgdocdirname %{pkg_name}%{!?_pkgdocdir:-%{version}} %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{pkg_name}-%{version}} @@ -34,7 +25,6 @@ # 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 @@ -89,7 +79,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 5.7.22 +Version: 8.0.11 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -98,7 +88,7 @@ URL: http://www.mysql.com # not only GPL code. See README.mysql-license License: GPLv2 with exceptions and LGPLv2 and BSD -Source0: https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-%{version}.tar.gz +Source0: https://cdn.mysql.com/Downloads/MySQL-8.0/mysql-boost-%{version}.tar.gz Source2: mysql_config_multilib.sh Source3: my.cnf.in Source6: README.mysql-docs @@ -122,7 +112,6 @@ Source31: server.cnf.in # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-install-test.patch Patch2: %{pkgnamepatch}-s390-tsc.patch -Patch3: %{pkgnamepatch}-logrotate.patch Patch4: %{pkgnamepatch}-file-contents.patch Patch5: %{pkgnamepatch}-scripts.patch Patch6: %{pkgnamepatch}-paths.patch @@ -131,25 +120,18 @@ Patch7: %{pkgnamepatch}-md5_fips.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch70: %{pkgnamepatch}-5.7.9-major.patch -Patch71: %{pkgnamepatch}-openssl11.patch -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -Patch73: %{pkgnamepatch}-libxcrypt.patch -%endif +Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch -Patch136: boost-1.57.0-spirit-unused_typedef.patch -Patch145: boost-1.54.0-locale-unused_typedef.patch -Patch170: boost-1.59.0-log.patch -Patch180: boost-1.59-python-make_setter.patch -Patch181: boost-1.59-test-fenv.patch -BuildRequires: cmake gcc-c++ +BuildRequires: cmake +BuildRequires: gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel +BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel %ifnarch aarch64 %{arm} s390 s390x @@ -164,7 +146,8 @@ BuildRequires: perl-generators BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif -BuildRequires: systemtap-sdt-devel +BuildRequires: protobuf-lite-devel +BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules @@ -180,6 +163,7 @@ BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(IPC::Open3) BuildRequires: perl(JSON) +BuildRequires: perl(LWP::Simple) BuildRequires: perl(Memoize) BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) @@ -192,7 +176,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.59 +Provides: bundled(boost) = 1.66 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -265,13 +249,12 @@ MySQL package. %if %{with errmsg} %package errmsg -Summary: The error messages files required by server and embedded +Summary: The error messages files required by MySQL server +Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg -The package provides error messages files for the MySQL daemon and the -embedded server. You will need to install this package to use any of those -MySQL packages. +The package provides error messages files for the MySQL daemon %endif @@ -329,45 +312,14 @@ package contains the libraries and header files that are needed for developing MySQL client applications. %endif - -%if %{with embedded} -%package embedded -Summary: MySQL as an embeddable library -Requires: %{name}-common%{?_isa} = %{sameevr} -Requires: %{name}-errmsg%{?_isa} = %{sameevr} -%if %{with mysql_names} -Provides: mysql-embedded = %{sameevr} -Provides: mysql-embedded%{?_isa} = %{sameevr} -%endif - -%description embedded -MySQL is a multi-user, multi-threaded SQL database server. This -package contains a version of the MySQL server that can be embedded -into a client application instead of running as a separate process. - - -%package embedded-devel -Summary: Development files for MySQL as an embeddable library -Requires: %{name}-embedded%{?_isa} = %{sameevr} -Requires: %{name}-devel%{?_isa} = %{sameevr} -Requires: libaio-devel -Requires: lz4-devel -Requires: pkgconfig(openssl) -Requires: zlib-devel -%{?with_conflicts:Conflicts: mariadb-embedded-devel} - -%description embedded-devel -MySQL is a multi-user, multi-threaded SQL database server. This -package contains files needed for developing and testing with -the embedded version of the MySQL server. -%endif - %if %{with test} %package test Summary: The test suite distributed with MySQL Requires: %{name}%{?_isa} = %{sameevr} Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} +Requires: gzip +Requires: lz4 Requires: perl(Digest::file) Requires: perl(Digest::MD5) Requires: perl(Env) @@ -378,6 +330,8 @@ Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) Requires: perl(JSON) +Requires: perl(LWP::Simple) +Requires: perl(Memoize) Requires: perl(Socket) Requires: perl(Sys::Hostname) Requires: perl(Test::More) @@ -399,30 +353,17 @@ the MySQL sources. %setup -q -n mysql-%{version} %patch1 -p1 %patch2 -p1 -%patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 -%patch7 -p1 %patch51 -p1 %patch52 -p1 -%if %{with_shared_lib_major_hack} -%patch70 -p1 -%endif -%patch71 -p1 -%if 0%{?fedora} >= 28 || 0%{?rhel} > 7 -%patch73 -p1 -%endif +%patch75 -p1 # Patch Boost -pushd boost/boost_1_59_0 +pushd boost/boost_1_66_0 %patch115 -p0 %patch125 -p1 -%patch136 -p1 -%patch145 -p1 -%patch170 -p2 -%patch180 -p2 -%patch181 -p2 popd # Modify tests to pass on all archs @@ -434,6 +375,43 @@ add_test () { touch %{skiplist} +# fails everywhere +add_test gis.srs : 8.0 issue +add_test main.import : 8.0 issue +add_test main.no_binlog_related_options : 8.0 issue +add_test main.regular_expressions_func_icu_54 : 8.0 issue +add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue +add_test main.regular_expressions_utf-8 : 8.0 issue +add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue +add_test perfschema.histograms : 8.0 issue +add_test main.log_options_cmdline : 8.0 issue + +# Fails since 8.0 +add_test x.crud_insert_cast : +add_test x.insert_table : +add_test x.insert_table_bad_column : +add_test x.insert_table_bad_column_type : +add_test x.insert_table_bad_numcolumns : +add_test x.update_crud_arrayappend_o : +add_test x.update_crud_arrayinsert_o : + +add_test innodb.innodb : missing correct value +add_test innodb.innodb_cats : +add_test innodb.log_corruption : + +add_test main.dd_upgrade_test : +add_test main.disabled_replication : +add_test main.flush2 : +add_test main.import : +add_test main.mysqldump-no-binlog : +add_test main.skip_log_bin : + +add_test main.window_functions_explain : +add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status : +add_test gis.gis_bugs_crashes : +add_test perfschema.histograms : +add_test main.log_options_cmdline : + # these tests fail on arm32 %ifarch %arm # FTS; still apply for 5.7.21 @@ -441,20 +419,19 @@ add_test innodb_fts.opt : arm32 FTS issue # Missing hw counters; in 5.7.21 reported as unstable tests add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.func_mutex : missing hw on arm32 %endif # This test fail on ppc64 and ppc64le; applicable in 5.7.21 -%ifarch ppc64le ppc64 -add_test innodb.innodb : missing correct value -%endif %ifarch ppc64le +add_test main.histograms : 8.0 issue/ppc64le +add_test main.opt_costmodel : 8.0 issue/ppc64le +add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le add_test perfschema.memory_aggregate_no_a : incorrect numbers in output add_test innodb_zip.wl6469 : add_test json.json_functions_innodb : add_test main.ps : -# The "select" tests may be a PPC floating point long long precision error -# Need to check this theory, though. -# Maybe usefull conversation: https://github.com/h5py/h5py/issues/817 add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : @@ -471,10 +448,6 @@ add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif -%ifarch i686 -add_test gis.gis_bugs_crashes : Failing since 5.7.22 release -%endif - popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ @@ -518,12 +491,10 @@ cmake .. \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ -DINSTALL_SBINDIR=libexec \ - -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ - -DENABLE_DTRACE=ON \ %if %{with init_systemd} -DWITH_SYSTEMD=1 \ -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ @@ -533,18 +504,21 @@ cmake .. \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ %endif - -DWITH_EMBEDDED_SERVER=ON \ - -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ +%ifarch s390 s390x + -DUSE_LD_GOLD=OFF \ +%endif -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_LZ4=system \ -DWITH_MECAB=system \ + -DWITH_PROTOBUF=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_BOOST=../boost \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ +%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} @@ -556,9 +530,6 @@ popd pushd build make DESTDIR=%{buildroot} install -# multilib header support -%multilib_fix_c_header --file %{_includedir}/mysql/my_config.h - # multilib support for shell scripts # we only apply this to known Red Hat multilib arches, per bug #181335 if %multilib_capable; then @@ -609,8 +580,6 @@ install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{p 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 -# not needed in rpm package -rm %{buildroot}%{_bindir}/mysql_embedded rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/magic rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -645,11 +614,6 @@ rm -r %{buildroot}%{_libdir}/mysql/libmysqlclient*.so.* rm -r %{buildroot}%{_sysconfdir}/ld.so.conf.d %endif -%if %{without embedded} -rm %{buildroot}%{_libdir}/mysql/libmysqld.so* -rm %{buildroot}%{_bindir}/{mysql_client_test_embedded,mysqltest_embedded} -%endif - %if %{without devel} rm %{buildroot}%{_bindir}/mysql_config* rm -r %{buildroot}%{_includedir}/mysql @@ -700,13 +664,13 @@ pushd mysql-test cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} -./mtr \ +./mtr %{?with_debug:--debug-server} \ --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} - --max-test-fail=0 || : + --max-test-fail=100 || : %else --skip-test-list=%{skiplist} %endif @@ -726,11 +690,6 @@ popd %ldconfig_post libs %endif -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_post embedded -%endif - %post server %if %{with init_systemd} %systemd_post %{daemon_name}.service @@ -761,11 +720,6 @@ fi %ldconfig_postun libs %endif -%if %{with embedded} -# Can be dropped on F27 EOL -%ldconfig_postun embedded -%endif - %postun server %if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service @@ -780,7 +734,6 @@ fi %files %{_bindir}/mysql %{_bindir}/mysql_config_editor -%{_bindir}/mysql_plugin %{_bindir}/mysqladmin %{_bindir}/mysqlbinlog %{_bindir}/mysqlcheck @@ -792,7 +745,6 @@ fi %{_mandir}/man1/mysql.1* %{_mandir}/man1/mysql_config_editor.1* -%{_mandir}/man1/mysql_plugin.1* %{_mandir}/man1/mysqladmin.1* %{_mandir}/man1/mysqlbinlog.1* %{_mandir}/man1/mysqlcheck.1* @@ -819,7 +771,8 @@ fi %if %{with common} %files common -%doc README COPYING README.mysql-license README.mysql-docs +%license LICENSE +%doc README README.mysql-license README.mysql-docs %doc storage/innobase/COPYING.Percona storage/innobase/COPYING.Google %dir %{_libdir}/mysql %dir %{_datadir}/%{pkg_name} @@ -856,12 +809,12 @@ fi %endif %files server +%{_bindir}/ibd2sdi %{_bindir}/myisamchk %{_bindir}/myisam_ftdump %{_bindir}/myisamlog %{_bindir}/myisampack %{_bindir}/my_print_defaults -%{_bindir}/mysql_install_db %{_bindir}/mysql_secure_installation %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql @@ -875,11 +828,8 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror -%{_bindir}/replace %{_bindir}/resolve_stack_dump %{_bindir}/resolveip -%{_bindir}/lz4_decompress -%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -893,13 +843,13 @@ fi %{_libdir}/mysql/plugin +%{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/myisamchk.1* %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* %{_mandir}/man1/mysql.server.1* %{_mandir}/man1/my_print_defaults.1* -%{_mandir}/man1/mysql_install_db.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* @@ -915,7 +865,6 @@ fi %{_mandir}/man1/mysqlman.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/lz4_decompress.1* @@ -926,7 +875,6 @@ fi %{_datadir}/%{pkg_name}/fill_help_tables.sql %{_datadir}/%{pkg_name}/innodb_memcached_config.sql %{_datadir}/%{pkg_name}/install_rewriter.sql -%{_datadir}/%{pkg_name}/mysql_security_commands.sql %{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql @@ -964,26 +912,19 @@ fi %{_mandir}/man1/mysql_config.1* %endif -%if %{with embedded} -%files embedded -%{_libdir}/mysql/libmysqld.so.* - -%files embedded-devel -%{_libdir}/mysql/libmysqld.so -%endif - %if %{with test} %files test %{_bindir}/mysql_client_test -%{_bindir}/mysql_client_test_embedded %{_bindir}/mysqltest -%{_bindir}/mysqltest_embedded %{_bindir}/mysqlxtest %{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %endif %changelog +* Fri Apr 20 2018 Norvald H. Ryeng - 8.0.11-1 +- Update to MySQL 8.0.11 (GA). + * Thu Apr 19 2018 Michal Schorm - 5.7.22-1 - Rebase to 5.7.22 version - CVE fixes: #1568963 diff --git a/sources b/sources index 7c10f37..dc248e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-5.7.22.tar.gz) = 186c9e9735114e312c65531c70e6b0b9b48b0fe14384b7a6ebfac2c1f91c3f4ac223d06e27a424fc75f57e0aaf2f74d6a8411a8ab9c6fed45c499068d0f1dc2a +SHA512 (mysql-boost-8.0.11.tar.gz) = 845db694c5669bf23e03b8d8169ed1194f6c8eec0957976791f533dedc8e7c6618bf75d88224f86dbc679a05f22d49019792bc7a0cbe1f1efea55f9a0a67df91 From 2f2956058b9253e912b77703806eb96c4a81b017 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Thu, 26 Apr 2018 10:27:31 +0200 Subject: [PATCH 196/274] Update cnf and service files with MySQL 8.0 features and clean up patches. --- community-mysql-cipherspec.patch | 154 ------------------------------- community-mysql-md5_fips.patch | 50 ---------- community-mysql-paths.patch | 26 ++++-- community-mysql.spec | 33 +++++-- my.cnf.in | 2 - mysql-prepare-db-dir.sh | 2 +- mysql.service.in | 49 +++++----- mysql@.service.in | 48 +++++----- server.cnf.in | 17 +--- 9 files changed, 102 insertions(+), 279 deletions(-) delete mode 100644 community-mysql-cipherspec.patch delete mode 100644 community-mysql-md5_fips.patch diff --git a/community-mysql-cipherspec.patch b/community-mysql-cipherspec.patch deleted file mode 100644 index b0c5b09..0000000 --- a/community-mysql-cipherspec.patch +++ /dev/null @@ -1,154 +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 --git a/client/mysqltest.cc b/client/mysqltest.cc -index 2def9bd..128dc00 100644 ---- a/client/mysqltest.cc -+++ b/client/mysqltest.cc -@@ -5503,6 +5503,7 @@ void do_connect(struct st_command *command) - my_bool con_pipe= 0, con_shm= 0, con_cleartext_enable= 0; - my_bool con_secure_auth= 1; - struct st_connection* con_slot; -+ char *con_cipher=NULL; - - static DYNAMIC_STRING ds_connection_name; - static DYNAMIC_STRING ds_host; -@@ -5595,6 +5596,8 @@ void do_connect(struct st_command *command) - con_cleartext_enable= 1; - else if (!strncmp(con_options, "SKIPSECUREAUTH",14)) - con_secure_auth= 0; -+ else if (!strncmp(con_options, "CIPHER:", 7)) -+ con_cipher = con_options + 7; - else - die("Illegal option to connect: %.*s", - (int) (end - con_options), con_options); -@@ -5642,8 +5645,11 @@ void do_connect(struct st_command *command) - 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 --git a/mysql-test/r/openssl_1.result b/mysql-test/r/openssl_1.result -index a767a71..3c1ee27 100644 ---- a/mysql-test/r/openssl_1.result -+++ b/mysql-test/r/openssl_1.result -@@ -197,8 +197,6 @@ Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value - Ssl_cipher AES256-SHA --Variable_name Value --Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result - is still running; no cipher request crashed the server -diff --git a/mysql-test/t/openssl_1.test b/mysql-test/t/openssl_1.test -index 426de1e..f8c6203 100644 ---- a/mysql-test/t/openssl_1.test -+++ b/mysql-test/t/openssl_1.test -@@ -20,13 +20,13 @@ grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA - grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx"; - flush privileges; - --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 -@@ -125,7 +125,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 - - # -@@ -215,7 +215,6 @@ DROP TABLE t1; - --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=AES256-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log - -@@ -250,7 +249,7 @@ select 'is still running; no cipher request crashed the server' as result from d - - GRANT SELECT ON test.* TO bug42158@localhost REQUIRE X509; - FLUSH PRIVILEGES; --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 --git a/mysql-test/t/plugin_auth_sha256_tls.test b/mysql-test/t/plugin_auth_sha256_tls.test -index f99df8a..1b38fda 100644 ---- a/mysql-test/t/plugin_auth_sha256_tls.test -+++ b/mysql-test/t/plugin_auth_sha256_tls.test -@@ -1,7 +1,7 @@ - --source include/not_embedded.inc - --source include/have_ssl.inc - --connect (ssl_con,localhost,root,,,,,SSL); -+connect (ssl_con,localhost,root,,,,,SSL CIPHER:DHE-RSA-AES256-SHA); - SHOW STATUS LIKE 'Ssl_cipher'; - - CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password'; -diff --git a/mysql-test/t/ssl.test b/mysql-test/t/ssl.test -index ea8be39..c61ca8b 100644 ---- a/mysql-test/t/ssl.test -+++ b/mysql-test/t/ssl.test -@@ -8,7 +8,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --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/mysql-test/t/ssl_8k_key.test b/mysql-test/t/ssl_8k_key.test -index d94c2fc..c27ca58 100644 ---- a/mysql-test/t/ssl_8k_key.test -+++ b/mysql-test/t/ssl_8k_key.test -@@ -4,7 +4,7 @@ - # - # Bug#29784 YaSSL assertion failure when reading 8k key. - # ----exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 -+--exec $MYSQL --ssl --ssl-key=$MYSQL_TEST_DIR/std_data/client-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/client-cert.pem --ssl-cipher=DHE-RSA-AES256-SHA -e "SHOW STATUS LIKE 'ssl_Cipher'" 2>&1 - - ## This test file is for testing encrypted communication only, not other - ## encryption routines that the SSL library happens to provide! -diff --git a/mysql-test/t/ssl_compress.test b/mysql-test/t/ssl_compress.test -index 2cb4c0d..feaa0e7 100644 ---- a/mysql-test/t/ssl_compress.test -+++ b/mysql-test/t/ssl_compress.test -@@ -9,7 +9,7 @@ - # Save the initial number of concurrent sessions - --source include/count_sessions.inc - --connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS); -+connect (ssl_compress_con,localhost,root,,,,,SSL COMPRESS CIPHER:DHE-RSA-AES256-SHA); - - # Check ssl turned on - SHOW STATUS LIKE 'Ssl_cipher'; diff --git a/community-mysql-md5_fips.patch b/community-mysql-md5_fips.patch deleted file mode 100644 index 4c2ad54..0000000 --- a/community-mysql-md5_fips.patch +++ /dev/null @@ -1,50 +0,0 @@ -Added to address RHBZ#1449689 - -Original patch notes from follows: - -... - -In FIPS mode there is no md5 by default, unless declared it is specifically -allowed. MD5 is used for non-crypto related things in MySQL (digests related -to performance schema and table list), so it is ok to use MD5 there. - -However, there is also MD5() SQL function, that should still keep working, -but users should know they should avoid using it in FIPS mode. - -RHBZ: #1351791 - -Upstream bug reports: -http://bugs.mysql.com/bug.php?id=83696 -https://jira.mariadb.org/browse/MDEV-7788 - - -diff -Naurp mysql-5.7.18_original/mysys_ssl/my_md5.cc mysql-5.7.18_patched/mysys_ssl/my_md5.cc ---- mysql-5.7.18_original/mysys_ssl/my_md5.cc 2017-03-18 08:45:14.000000000 +0100 -+++ mysql-5.7.18_patched/mysys_ssl/my_md5.cc 2017-05-12 12:19:38.584814619 +0200 -@@ -38,13 +38,22 @@ static void my_md5_hash(char *digest, co - - #elif defined(HAVE_OPENSSL) - #include -+#include - - static void my_md5_hash(unsigned char* digest, unsigned const char *buf, int len) - { -- MD5_CTX ctx; -- MD5_Init (&ctx); -- MD5_Update (&ctx, buf, len); -- MD5_Final (digest, &ctx); -+ EVP_MD_CTX *ctx; -+ ctx = EVP_MD_CTX_create(); -+ -+ #ifdef EVP_MD_CTX_FLAG_NON_FIPS_ALLOW -+ /* we will be using MD5, which is not allowed under FIPS */ -+ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW); -+ #endif -+ -+ EVP_DigestInit_ex(ctx, EVP_md5(), NULL); -+ EVP_DigestUpdate(ctx, buf, len); -+ EVP_DigestFinal_ex(ctx, digest, NULL); -+ EVP_MD_CTX_destroy(ctx); - } - - #endif /* HAVE_YASSL */ diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 20b77d5..078782f 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,7 +4,7 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index ec2b492..43e4ccd 100644 +index f5ac0bf2..cd3132de 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake @@ -114,7 +114,7 @@ IF(UNIX) @@ -25,10 +25,10 @@ index ec2b492..43e4ccd 100644 IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc -index 2d76700..02c5885 100644 +index 1317e362..cfa0feb7 100644 --- a/mysys_ssl/my_default.cc +++ b/mysys_ssl/my_default.cc -@@ -1733,12 +1733,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) +@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else @@ -45,20 +45,32 @@ index 2d76700..02c5885 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c66a910..af9bc9e 100644 +index c1202103..06a055b1 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -324,7 +324,7 @@ ELSE() +@@ -315,7 +315,7 @@ ENDIF(UNIX) + + SET(bindir ${prefix}/${INSTALL_BINDIR}) + SET(sbindir ${prefix}/${INSTALL_SBINDIR}) +-SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) ++SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) + SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + IF(INSTALL_LAYOUT MATCHES "STANDALONE") + SET(localstatedir ${prefix}/data) +@@ -324,9 +324,9 @@ ELSE() ENDIF() SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) +SET(sysconfdir ${SYSCONFDIR}) SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) +-SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) ++SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) + SET(libsubdir ${INSTALL_LIBDIR}) diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh -index 5ad36e7..5dd032f 100644 +index 5ad36e7b..5dd032f2 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh @@ -572,9 +572,7 @@ sub list_defaults_files diff --git a/community-mysql.spec b/community-mysql.spec index 18e8585..ebcf674 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -112,10 +112,9 @@ Source31: server.cnf.in # Patches common for more mysql-like packages Patch1: %{pkgnamepatch}-install-test.patch Patch2: %{pkgnamepatch}-s390-tsc.patch -Patch4: %{pkgnamepatch}-file-contents.patch -Patch5: %{pkgnamepatch}-scripts.patch -Patch6: %{pkgnamepatch}-paths.patch -Patch7: %{pkgnamepatch}-md5_fips.patch +Patch3: %{pkgnamepatch}-file-contents.patch +Patch4: %{pkgnamepatch}-scripts.patch +Patch5: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -353,9 +352,9 @@ the MySQL sources. %setup -q -n mysql-%{version} %patch1 -p1 %patch2 -p1 +%patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %patch51 -p1 %patch52 -p1 %patch75 -p1 @@ -485,12 +484,13 @@ cmake .. \ -DINSTALL_DOCREADMEDIR="share/doc/%{_pkgdocdirname}" \ -DINSTALL_INCLUDEDIR=include/mysql \ -DINSTALL_INFODIR=share/info \ + -DINSTALL_LIBEXECDIR=libexec \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ -DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \ - -DINSTALL_SBINDIR=libexec \ + -DINSTALL_SBINDIR=bin \ -DINSTALL_SUPPORTFILESDIR=share/%{pkg_name} \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ @@ -568,7 +568,7 @@ install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait %endif # helper scripts for service starting -install -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir 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 @@ -595,7 +595,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d echo "%{_libdir}/mysql" > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf %if %{with debug} -mv %{buildroot}%{_libexecdir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld +mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_bindir}/mysqld %endif # Back to src dir @@ -833,7 +833,7 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%{_libexecdir}/mysqld +%{_bindir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -922,6 +922,19 @@ fi %endif %changelog +* Mon May 14 2018 Norvald H. Ryeng - 8.0.11-2 +- MySQL 8.0 has notify support +- SQL restart command needs MYSQLD_PARENT_PID=1 +- Increase LimitNOFILE +- Disable symbolic links is default (and option deprecated) +- Move mysqld to /usr/bin, with mysqld_safe gone there no reason + to have mysqld in libexec +- FIPS mode is now supported: + https://dev.mysql.com/doc/refman/8.0/en/fips-mode.html +- Remove legacy embedded refs from cnf files +- Clean up patches: re-numbering and removing +- Recommend to use systemctl edit to modify service files + * Fri Apr 20 2018 Norvald H. Ryeng - 8.0.11-1 - Update to MySQL 8.0.11 (GA). diff --git a/my.cnf.in b/my.cnf.in index 1e9009e..2bb9e88 100644 --- a/my.cnf.in +++ b/my.cnf.in @@ -8,8 +8,6 @@ # This group is read by the server # [mysqld] -# Disabling symbolic-links is recommended to prevent assorted security risks -symbolic-links=0 # # include all files from the config directory diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 46cf636..65726bd 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -94,7 +94,7 @@ if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" + @bindir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.service.in b/mysql.service.in index 256cac2..743af60 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -1,27 +1,27 @@ # 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 use systemctl edit: +# +# $ systemctl edit @DAEMON_NAME@.service +# +# this will create file +# +# /etc/systemd/system/@DAEMON_NAME@.service.d/override.conf +# +# which be parsed after the file @DAEMON_NAME@.service itself is parsed. +# +# For example, if you want to increase mysql's open-files-limit to 20000 +# add following when editing with command above: +# +# [Service] +# LimitNOFILE=20000 +# +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true # # 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 - -# Or if you require to execute pre and post scripts in the unit file as root, set -# PermissionsStartOnly=true - -# 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 @@ -31,16 +31,15 @@ After=syslog.target After=network.target [Service] -Type=forking +Type=notify User=mysql Group=mysql -PIDFile=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid 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=@libexecdir@/mysqld --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid +ExecStart=@bindir@/mysqld --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop @@ -54,5 +53,11 @@ Restart=on-failure RestartPreventExitStatus=1 +# Sets open_files_limit +LimitNOFILE = 10000 + +# Set enviroment variable MYSQLD_PARENT_PID. This is required for SQL restart command. +Environment=MYSQLD_PARENT_PID=1 + [Install] WantedBy=multi-user.target diff --git a/mysql@.service.in b/mysql@.service.in index aad98f7..ec0004f 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -1,27 +1,27 @@ # 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 use systemctl edit: +# +# $ systemctl edit @DAEMON_NAME@.service +# +# this will create file +# +# /etc/systemd/system/@DAEMON_NAME@.service.d/override.conf +# +# which be parsed after the file @DAEMON_NAME@.service itself is parsed. +# +# For example, if you want to increase mysql's open-files-limit to 20000 +# add following when editing with command above: +# +# [Service] +# LimitNOFILE=20000 +# +# Or if you require to execute pre and post scripts in the unit file as root, set +# PermissionsStartOnly=true # # 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 - -# Or if you require to execute pre and post scripts in the unit file as root, set -# PermissionsStartOnly=true - -# 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 @@ -31,7 +31,7 @@ After=syslog.target After=network.target [Service] -Type=forking +Type=notify User=mysql Group=mysql @@ -39,7 +39,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --daemonize --basedir=@prefix@ --pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid +ExecStart=@bindir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I @@ -53,5 +53,11 @@ Restart=on-failure RestartPreventExitStatus=1 +# Sets open_files_limit +LimitNOFILE = 10000 + +# Set enviroment variable MYSQLD_PARENT_PID. This is required for SQL restart command. +Environment=MYSQLD_PARENT_PID=1 + [Install] WantedBy=multi-user.target diff --git a/server.cnf.in b/server.cnf.in index e25b599..ba3d479 100644 --- a/server.cnf.in +++ b/server.cnf.in @@ -1,25 +1,18 @@ # -# These groups are read by MySQL server. +# This group are read by MySQL server. # Use it for options that only the server (but not clients) should see # -# See the examples of server my.cnf files in /usr/share/mysql/ -# +# For advice on how to change settings please see +# http://dev.mysql.com/doc/refman/en/server-configuration-defaults.html -# this is read by the standalone daemon and embedded servers -[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 +# customize your systemd unit file for mysqld according to the # instructions in http://fedoraproject.org/wiki/Systemd + [mysqld] datadir=@MYSQL_DATADIR@ socket=@MYSQL_UNIX_ADDR@ log-error=@LOG_LOCATION@ pid-file=@PID_FILE_DIR@/@DAEMON_NO_PREFIX@.pid - -# this is only for embedded server -[embedded] - From 4c6a98e337addc4e906596733ff922a025e6f175 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 22:05:59 +0000 Subject: [PATCH 197/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ebcf674..298385a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -922,6 +922,9 @@ fi %endif %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 8.0.11-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Mon May 14 2018 Norvald H. Ryeng - 8.0.11-2 - MySQL 8.0 has notify support - SQL restart command needs MYSQLD_PARENT_PID=1 From d9f9c9c58e04b0386ec9d6af8362c7eb9a4cfea8 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Fri, 13 Jul 2018 09:23:38 +0200 Subject: [PATCH 198/274] Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin This is done to make SELinux happy again (because correct context is only defined for /usr/libexec/mysqld) and also because of back-ward compatibility, that users might have /usr/libexec/mysqld path hard-coded already). --- community-mysql.spec | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 298385a..1456cfd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -594,8 +594,14 @@ 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 +# for back-ward compatibility and SELinux, let's keep the mysqld in libexec +# and just create a symlink in /usr/sbin +mv %{buildroot}%{_bindir}/mysqld %{buildroot}%{_libexecdir}/mysqld +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld + %if %{with debug} -mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_bindir}/mysqld +mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld %endif # Back to src dir @@ -833,7 +839,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -%{_bindir}/mysqld +%{_sbindir}/mysqld +%{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -922,6 +929,9 @@ fi %endif %changelog +* Thu Jul 12 2018 Honza Horak - 8.0.11-4 +- Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin + * Thu Jul 12 2018 Fedora Release Engineering - 8.0.11-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild From 12a01a49cfde5393c2bbe8b54d9835eb48649e20 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Jul 2018 16:39:08 +0200 Subject: [PATCH 199/274] Move log file to a directory owned by mysql user Resolves: #1590369 --- community-mysql.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1456cfd..1e25a0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,7 +62,7 @@ # 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 +%global logfiledir %{_localstatedir}/log/%{pkg_name} %global logfile %{logfiledir}/%{daemon_no_prefix}.log # Defining where database data live @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.11 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -903,6 +903,7 @@ fi %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring %attr(0755,mysql,mysql) %dir %{pidfiledir} +%attr(0750,mysql,mysql) %dir %{logfiledir} %attr(0640,mysql,mysql) %config %ghost %verify(not md5 size mtime) %{logfile} %config(noreplace) %{logrotateddir}/%{daemon_name} @@ -929,6 +930,10 @@ fi %endif %changelog +* Tue Jul 17 2018 Honza Horak - 8.0.11-5 +- Move log file to a directory owned by mysql user + Resolves: #1590369 + * Thu Jul 12 2018 Honza Horak - 8.0.11-4 - Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin From b404ef3110ea3f7ab0f3d2ff9e14e2669a259f7d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 17 Jul 2018 22:16:11 +0200 Subject: [PATCH 200/274] Use explicitly openssl-devel as dependency for -devel sub-package The reason is that we want to install the same version of the openssl as we use for building, not any version, like compat-openssl10-devel (which is the case actually, because yum prefers the name sooner in the alphabet). --- community-mysql.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1e25a0a..67c22da 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -301,7 +301,7 @@ the MySQL server and some accompanying files and directories. %package devel Summary: Files for development of MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} -Requires: pkgconfig(openssl) +Requires: openssl-devel Requires: zlib-devel %{?with_conflicts:Conflicts: mariadb-devel} @@ -933,6 +933,7 @@ fi * Tue Jul 17 2018 Honza Horak - 8.0.11-5 - Move log file to a directory owned by mysql user Resolves: #1590369 +- Use explicitly openssl-devel as dependency for -devel sub-package * Thu Jul 12 2018 Honza Horak - 8.0.11-4 - Move mysqld back to /usr/libexec, and create a symlink in /usr/sbin From ba096882131a58cb91a0544c7bcaafa2d77e9c41 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 00:02:40 +0200 Subject: [PATCH 201/274] Use /var/log/mysql rather than /var/log/community-mysql Also use a temporary fix for the SELinux context --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 67c22da..dd6a655 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -62,7 +62,7 @@ # 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/%{pkg_name} +%global logfiledir %{_localstatedir}/log/mysql %global logfile %{logfiledir}/%{daemon_no_prefix}.log # Defining where database data live @@ -708,6 +708,9 @@ fi if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi +# TODO: remove after selinux-policy is fixed (BZ#1602153) +semanage fcontext -a -t mysqld_log_t %{logfiledir} +restorecon -r %{logfiledir} %preun server From fa0bed331670447bce285acbabfb009139efd5bc Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 00:03:18 +0200 Subject: [PATCH 202/274] Fix scripts after moving mysqld back to /usr/libexec --- mysql-prepare-db-dir.sh | 2 +- mysql.service.in | 2 +- mysql@.service.in | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mysql-prepare-db-dir.sh b/mysql-prepare-db-dir.sh index 65726bd..46cf636 100644 --- a/mysql-prepare-db-dir.sh +++ b/mysql-prepare-db-dir.sh @@ -94,7 +94,7 @@ if should_initialize "$datadir" ; then # Now create the database echo "Initializing @NICE_PROJECT_NAME@ database" - @bindir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" + @libexecdir@/mysqld --initialize-insecure --datadir="$datadir" --user="$myuser" ret=$? if [ $ret -ne 0 ] ; then echo "Initialization of @NICE_PROJECT_NAME@ database failed." >&2 diff --git a/mysql.service.in b/mysql.service.in index 743af60..4a7c295 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -39,7 +39,7 @@ 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 --basedir=@prefix@ +ExecStart=@libexecdir@/mysqld --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop diff --git a/mysql@.service.in b/mysql@.service.in index ec0004f..554f0ba 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -39,7 +39,7 @@ ExecStartPre=@libexecdir@/mysql-check-socket --defaults-group-suffix=.%I ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 -ExecStart=@bindir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ +ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I From 4adcc2dbd3784026af3b3fa87362d3d4383dde96 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 07:58:48 +0200 Subject: [PATCH 203/274] Fix rule for selinux context for the log file --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index dd6a655..3397f23 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -709,7 +709,7 @@ if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi # TODO: remove after selinux-policy is fixed (BZ#1602153) -semanage fcontext -a -t mysqld_log_t %{logfiledir} +semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' restorecon -r %{logfiledir} From beb58fa5a070375675db9d1e8cf71e63c603a0f5 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 08:02:58 +0200 Subject: [PATCH 204/274] Ignore unstable tests import_5_7 sdi dd_upgrade_partition --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 3397f23..8fe578e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -420,6 +420,9 @@ add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 add_test perfschema.global_read_lock : missing hw on arm32 add_test perfschema.func_mutex : missing hw on arm32 +add_test import_5_7 : 8.0 issue/aarch64 +add_test sdi : 8.0 issue/aarch64 +add_test dd_upgrade_partition : 8.0 issue/aarch64 %endif # This test fail on ppc64 and ppc64le; applicable in 5.7.21 From c8f4ec8188a529525ffce5b1e543ef5781e65916 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 18 Jul 2018 18:32:48 +0200 Subject: [PATCH 205/274] Disable the lately added tests on aarch64, not arm --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 8fe578e..c0ce3cb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -420,6 +420,10 @@ add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 add_test perfschema.global_read_lock : missing hw on arm32 add_test perfschema.func_mutex : missing hw on arm32 +%endif + +# these tests fail on aarch64 +%ifarch aarch64 add_test import_5_7 : 8.0 issue/aarch64 add_test sdi : 8.0 issue/aarch64 add_test dd_upgrade_partition : 8.0 issue/aarch64 From 905ffd544c2269eb78616ee191924814c124c463 Mon Sep 17 00:00:00 2001 From: "Norvald H. Ryeng" Date: Wed, 1 Aug 2018 15:17:10 +0200 Subject: [PATCH 206/274] Update to MySQL 8.0.12 --- community-mysql-icu.patch | 13 ++++++++++++ community-mysql-sharedir.patch | 38 ++++++++++++++++------------------ community-mysql.spec | 28 ++++++++++++++----------- 3 files changed, 47 insertions(+), 32 deletions(-) create mode 100644 community-mysql-icu.patch diff --git a/community-mysql-icu.patch b/community-mysql-icu.patch new file mode 100644 index 0000000..7761d93 --- /dev/null +++ b/community-mysql-icu.patch @@ -0,0 +1,13 @@ +diff --git a/plugin/x/src/xpl_regex.cc b/plugin/x/src/xpl_regex.cc +index eefb14d78b7..a77a807459c 100644 +--- a/plugin/x/src/xpl_regex.cc ++++ b/plugin/x/src/xpl_regex.cc +@@ -53,7 +53,7 @@ bool xpl::Regex::match(const char *value) const { + * and parse the text patter each time that xpl::Regex::match + * is called. + */ +- UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; ++ icu::UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; + std::unique_ptr regexp{ + m_pattern->matcher(value_as_utf8, match_status)}; + diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 543affd..9f05b1b 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,5 +1,5 @@ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt -index 7c1e82b..a92ba91 100644 +index 7c1e82b5..a92ba915 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt @@ -56,6 +56,10 @@ INSTALL( @@ -14,30 +14,28 @@ index 7c1e82b..a92ba91 100644 # Enable running mtr from build directory CONFIGURE_FILE( diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index e9130dd..388c039 100755 +index 8c058527..7acd8534 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl -@@ -1535,11 +1535,13 @@ sub command_line_setup { +@@ -1479,11 +1479,11 @@ sub command_line_setup { } # Look for language files and charsetsdir, use same share -- $path_language= mtr_path_exists("$bindir/share/mysql", -+ $path_language= mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", -+ "$bindir/share/mysql", - "$bindir/share"); - my $path_share= $path_language; +- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share"); ++ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share"); + my $path_share = $path_language; -- @share_locations= ("share/mysql", -+ @share_locations= ("@INSTALL_MYSQLSHAREDIR@", -+ "share/mysql", - "share/mysql-" . $mysql_base_version, - "share"); + @share_locations = +- ("share/mysql", "share/mysql-" . $mysql_base_version, "share"); ++ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql", "share/mysql-" . $mysql_base_version, "share"); -@@ -4140,6 +4142,7 @@ sub mysql_install_db { + $path_charsetsdir = my_find_dir($basedir, \@share_locations, "charsets"); - my $path_sql= my_find_file($install_basedir, - ["mysql", "share/mysql", -+ "@INSTALL_MYSQLSHAREDIR@", - "share/mysql-" . $mysql_base_version, - "share", "scripts"], - "mysql_system_tables.sql", +@@ -3727,6 +3727,7 @@ sub mysql_install_db { + + my $path_sql = my_find_file($install_basedir, + [ "mysql", "share/mysql", ++ "@INSTALL_MYSQLSHAREDIR@", + "share/mysql-" . $mysql_base_version, + "share", "scripts" + ], diff --git a/community-mysql.spec b/community-mysql.spec index c0ce3cb..c00d817 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -5,7 +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) -%{!?runselftest:%global runselftest 1} +%{!?runselftest:%global runselftest 0} # Set this to 1 to see which tests fail %global check_testsuite 0 @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.11 -Release: 5%{?with_debug:.debug}%{?dist} +Version: 8.0.12 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -115,6 +115,7 @@ Patch2: %{pkgnamepatch}-s390-tsc.patch Patch3: %{pkgnamepatch}-file-contents.patch Patch4: %{pkgnamepatch}-scripts.patch Patch5: %{pkgnamepatch}-paths.patch +Patch6: %{pkgnamepatch}-icu.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch @@ -130,6 +131,7 @@ BuildRequires: gcc-c++ BuildRequires: libaio-devel BuildRequires: libedit-devel BuildRequires: libevent-devel +BuildRequires: libicu-devel BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel @@ -146,6 +148,8 @@ BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif BuildRequires: protobuf-lite-devel +BuildRequires: rapidjson-devel +BuildRequires: re2-devel BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -175,7 +179,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.66 +Provides: bundled(boost) = 1.67 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -355,12 +359,13 @@ the MySQL sources. %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %patch51 -p1 %patch52 -p1 %patch75 -p1 # Patch Boost -pushd boost/boost_1_66_0 +pushd boost/boost_1_67_0 %patch115 -p0 %patch125 -p1 popd @@ -514,14 +519,9 @@ cmake .. \ %ifarch s390 s390x -DUSE_LD_GOLD=OFF \ %endif - -DWITH_EDITLINE=system \ - -DWITH_LIBEVENT=system \ - -DWITH_LZ4=system \ - -DWITH_MECAB=system \ - -DWITH_PROTOBUF=system \ - -DWITH_SSL=system \ - -DWITH_ZLIB=system \ + -DWITH_SYSTEM_LIBS=ON \ -DWITH_BOOST=../boost \ + -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ %{?with_debug: -DWITH_DEBUG=1}\ @@ -895,6 +895,7 @@ fi %{_datadir}/%{pkg_name}/mysql_sys_schema.sql %{_datadir}/%{pkg_name}/mysql_system_tables.sql %{_datadir}/%{pkg_name}/mysql_system_tables_data.sql +%{_datadir}/%{pkg_name}/mysql_system_users.sql %{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql %{_datadir}/%{pkg_name}/uninstall_rewriter.sql @@ -940,6 +941,9 @@ fi %endif %changelog +* Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 +- Update to MySQL 8.0.12 + * Tue Jul 17 2018 Honza Horak - 8.0.11-5 - Move log file to a directory owned by mysql user Resolves: #1590369 From b8a0c7c0ea5a641248d2ea82f75171b0353811fc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 13 Aug 2018 13:21:17 +0200 Subject: [PATCH 207/274] New sources for 8.0.12 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index dc248e9..53e97a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.11.tar.gz) = 845db694c5669bf23e03b8d8169ed1194f6c8eec0957976791f533dedc8e7c6618bf75d88224f86dbc679a05f22d49019792bc7a0cbe1f1efea55f9a0a67df91 +SHA512 (mysql-boost-8.0.12.tar.gz) = 68aeb0bb69f7087e0c308fe735f67dd973a6a2282b4027f9e20bed5e179f48e073d116542ae0dce80de7538e62247bd893ed2eb13371188e1b5019ff74c4b9ad From 756300c9034c6bb4d18ad56f77ba8af7bdee760d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 6 Sep 2018 07:17:11 +0200 Subject: [PATCH 208/274] Fix the SYS_NICE capabilities; #1540946 --- community-mysql.spec | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index c00d817..81f82b0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.12 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -281,6 +281,9 @@ Requires: systemd # Make sure it's there when scriptlets run, too %{?systemd_requires: %systemd_requires} %endif +# SYS_NICE capabilities; #1540946 +Recommends: libcap + %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -719,6 +722,10 @@ fi semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' restorecon -r %{logfiledir} +# Enable the SYS_NICE capablilities; #1540946 +if [ -e "/usr/sbin/setcap" ] ; then + setcap cap_sys_nice+ep /usr/libexec/mysqld +fi %preun server %if %{with init_systemd} @@ -941,6 +948,10 @@ fi %endif %changelog +* Thu Sep 06 2018 Michal Schorm - 8.0.12-2 +- Fix the SYS_NICE capabilities + Related: #1540946 + * Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 - Update to MySQL 8.0.12 From f4c1cfdc23ea18e80f0512331dd157f30e23286e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 6 Sep 2018 13:31:56 +0200 Subject: [PATCH 209/274] Add requires for the semanage binary --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 81f82b0..7edc744 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -283,6 +283,8 @@ Requires: systemd %endif # SYS_NICE capabilities; #1540946 Recommends: libcap +# semanage +Requires(post): policycoreutils-python-utils %if %{with mysql_names} Provides: mysql-server = %{sameevr} @@ -951,6 +953,7 @@ fi * Thu Sep 06 2018 Michal Schorm - 8.0.12-2 - Fix the SYS_NICE capabilities Related: #1540946 +- Add requires for the semanage binary * Wed Aug 01 2018 Norvald H. Ryeng - 8.0.12-1 - Update to MySQL 8.0.12 From ffd96fa910dd7843928896b8781c076a2ce8dd63 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 23 Oct 2018 16:35:29 +0200 Subject: [PATCH 210/274] Rebase to 8.0.13 ICU patch removed; upstreamed Patch for MySQL Router introduced. Do not build it. CVEs fixed: CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195 CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247 CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282 CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145 CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143 CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185 CVE-2018-3280 CVE-2018-3203 CVE-2018-3155 --- community-mysql-arm32-timer.patch | 4 +- community-mysql-icu.patch | 13 --- community-mysql-router.patch | 17 ++++ community-mysql-sharedir.patch | 12 +-- community-mysql.spec | 159 +++++++++++++++--------------- sources | 2 +- 6 files changed, 100 insertions(+), 107 deletions(-) delete mode 100644 community-mysql-icu.patch create mode 100644 community-mysql-router.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 6d47307..4e5302c 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,8 +1,8 @@ --- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100 +++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100 @@ -311,6 +311,11 @@ - ("The member has resumed contact with a majority of the members in the group.*"), - ("Members removed from the group.*"), + */ + ("The SSL library function CRYPTO_set_mem_functions failed"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-icu.patch b/community-mysql-icu.patch deleted file mode 100644 index 7761d93..0000000 --- a/community-mysql-icu.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/plugin/x/src/xpl_regex.cc b/plugin/x/src/xpl_regex.cc -index eefb14d78b7..a77a807459c 100644 ---- a/plugin/x/src/xpl_regex.cc -+++ b/plugin/x/src/xpl_regex.cc -@@ -53,7 +53,7 @@ bool xpl::Regex::match(const char *value) const { - * and parse the text patter each time that xpl::Regex::match - * is called. - */ -- UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; -+ icu::UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)}; - std::unique_ptr regexp{ - m_pattern->matcher(value_as_utf8, match_status)}; - diff --git a/community-mysql-router.patch b/community-mysql-router.patch new file mode 100644 index 0000000..6e19604 --- /dev/null +++ b/community-mysql-router.patch @@ -0,0 +1,17 @@ +Do not build MySQL Router. +It is a set of tools and libraries used for the InnoDB cluster. + +However without MySQL SHELL it can't be operated. +We don't pack the MySQL SHELL, so don´t build the router at all. + +--- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200 ++++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200 +@@ -1046,7 +1046,7 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/s + + # depends on mysql_version.h to exist + IF(NOT WITHOUT_SERVER) +- ADD_SUBDIRECTORY(router) ++# ADD_SUBDIRECTORY(router) + ENDIF() + + GET_PROPERTY(CWD_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS) diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 9f05b1b..cb1f1dc 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -26,16 +26,8 @@ index 8c058527..7acd8534 100755 my $path_share = $path_language; @share_locations = -- ("share/mysql", "share/mysql-" . $mysql_base_version, "share"); -+ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql", "share/mysql-" . $mysql_base_version, "share"); +- ("share/mysql-" . $mysql_base_version, "share/mysql", "share"); ++ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql-" . $mysql_base_version, "share/mysql", "share"); $path_charsetsdir = my_find_dir($basedir, \@share_locations, "charsets"); -@@ -3727,6 +3727,7 @@ sub mysql_install_db { - - my $path_sql = my_find_file($install_basedir, - [ "mysql", "share/mysql", -+ "@INSTALL_MYSQLSHAREDIR@", - "share/mysql-" . $mysql_base_version, - "share", "scripts" - ], diff --git a/community-mysql.spec b/community-mysql.spec index 7edc744..0ae6990 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -5,7 +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) -%{!?runselftest:%global runselftest 0} +%{!?runselftest:%global runselftest 1} # Set this to 1 to see which tests fail %global check_testsuite 0 @@ -79,8 +79,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.12 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 8.0.13 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -115,11 +115,11 @@ Patch2: %{pkgnamepatch}-s390-tsc.patch Patch3: %{pkgnamepatch}-file-contents.patch Patch4: %{pkgnamepatch}-scripts.patch Patch5: %{pkgnamepatch}-paths.patch -Patch6: %{pkgnamepatch}-icu.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch +Patch53: %{pkgnamepatch}-router.patch Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 @@ -135,6 +135,7 @@ BuildRequires: libicu-devel BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel +BuildRequires: bison %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif @@ -364,9 +365,9 @@ the MySQL sources. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 %patch51 -p1 %patch52 -p1 +%patch53 -p1 %patch75 -p1 # Patch Boost @@ -384,47 +385,43 @@ add_test () { touch %{skiplist} -# fails everywhere -add_test gis.srs : 8.0 issue -add_test main.import : 8.0 issue -add_test main.no_binlog_related_options : 8.0 issue -add_test main.regular_expressions_func_icu_54 : 8.0 issue -add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue -add_test main.regular_expressions_utf-8 : 8.0 issue -add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue -add_test perfschema.histograms : 8.0 issue -add_test main.log_options_cmdline : 8.0 issue +# Fails everywhere +add_test auth_sec.cert_verify : +add_test auth_sec.mysql_ssl_connection : +add_test auth_sec.openssl_cert_generation : +add_test auth_sec.openssl_without_fips : +add_test auth_sec.ssl_auto_detect : +add_test auth_sec.ssl_mode : +add_test auth_sec.tls : +add_test binlog.binlog_grant_alter_user : +add_test innodb.create_tablespace : +add_test main.grant_alter_user_qa : +add_test main.grant_user_lock_qa : +add_test main.mysql_ssl_default : +add_test main.openssl_1 : +add_test main.persisted_variables_bugs : +add_test main.plugin_auth_sha256_tls : +add_test main.read_only_persisted_plugin_variables : +add_test main.ssl : +add_test main.ssl_ca : +add_test main.ssl_cipher : +add_test main.ssl_compress : +add_test main.ssl_crl : +add_test main.ssl_verify_identity : +add_test main.ssl_8k_key : +add_test x.connection_openssl : +add_test x.connection_openssl_unixsocket : +add_test x.connection_tls_version : +add_test x.mysqlxtest_mode_ssl : +add_test x.mysqlxtest_mode_ssl_unixsocket : -# Fails since 8.0 -add_test x.crud_insert_cast : -add_test x.insert_table : -add_test x.insert_table_bad_column : -add_test x.insert_table_bad_column_type : -add_test x.insert_table_bad_numcolumns : -add_test x.update_crud_arrayappend_o : -add_test x.update_crud_arrayinsert_o : - -add_test innodb.innodb : missing correct value -add_test innodb.innodb_cats : -add_test innodb.log_corruption : - -add_test main.dd_upgrade_test : -add_test main.disabled_replication : -add_test main.flush2 : -add_test main.import : -add_test main.mysqldump-no-binlog : -add_test main.skip_log_bin : - -add_test main.window_functions_explain : -add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status : -add_test gis.gis_bugs_crashes : -add_test perfschema.histograms : -add_test main.log_options_cmdline : - -# these tests fail on arm32 -%ifarch %arm -# FTS; still apply for 5.7.21 -add_test innodb_fts.opt : arm32 FTS issue +# these tests fail on arm +%ifarch %arm aarch64 +add_test innodb.log_corruption : +add_test innodb.innodb-wl6445-2 : +add_test gis.st_latitude : +add_test gis.st_longitude : +add_test main.log_options_cmdline: # Missing hw counters; in 5.7.21 reported as unstable tests add_test perfschema.func_file_io : missing hw on arm32 add_test perfschema.setup_objects : missing hw on arm32 @@ -432,35 +429,28 @@ add_test perfschema.global_read_lock : missing hw on arm32 add_test perfschema.func_mutex : missing hw on arm32 %endif -# these tests fail on aarch64 -%ifarch aarch64 -add_test import_5_7 : 8.0 issue/aarch64 -add_test sdi : 8.0 issue/aarch64 -add_test dd_upgrade_partition : 8.0 issue/aarch64 -%endif - # This test fail on ppc64 and ppc64le; applicable in 5.7.21 %ifarch ppc64le -add_test main.histograms : 8.0 issue/ppc64le -add_test main.opt_costmodel : 8.0 issue/ppc64le -add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le -add_test perfschema.memory_aggregate_no_a : incorrect numbers in output -add_test innodb_zip.wl6469 : -add_test json.json_functions_innodb : -add_test main.ps : -add_test main.select_all : -add_test main.select_all_bka : -add_test main.select_all_bka_nixbnl : -add_test main.select_icp_mrr : -add_test main.select_icp_mrr_bka : -add_test main.select_icp_mrr_bka_nixbnl : -add_test main.select_none : -add_test main.select_none_bka : -add_test main.select_none_bka_nixbnl : -add_test main.sp : -add_test main.type_float : -add_test main.type_newdecimal : -add_test main.type_ranges : +add_test innodb.create_tablespace : +add_test innodb.instant_add_column_basic : +add_test innodb.temporary_table_optimization : +add_test json.json_functions_innodb : +add_test main.histograms : +add_test main.opt_costmodel : +add_test main.ps : +add_test main.select_all : +add_test main.select_all_bka : +add_test main.select_all_bka_nixbnl : +add_test main.select_icp_mrr : +add_test main.select_icp_mrr_bka : +add_test main.select_icp_mrr_bka_nixbnl : +add_test main.select_none : +add_test main.select_none_bka : +add_test main.select_none_bka_nixbnl : +add_test main.sp : +add_test main.type_float : +add_test main.type_newdecimal : +add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : %endif @@ -534,6 +524,8 @@ cmake .. \ -DTMPDIR=/var/tmp \ %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} +cmake .. -LAH + make %{?_smp_mflags} VERBOSE=1 popd @@ -898,15 +890,7 @@ fi %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt -%{_datadir}/%{pkg_name}/fill_help_tables.sql -%{_datadir}/%{pkg_name}/innodb_memcached_config.sql -%{_datadir}/%{pkg_name}/install_rewriter.sql -%{_datadir}/%{pkg_name}/mysql_sys_schema.sql -%{_datadir}/%{pkg_name}/mysql_system_tables.sql -%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql -%{_datadir}/%{pkg_name}/mysql_system_users.sql -%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql -%{_datadir}/%{pkg_name}/uninstall_rewriter.sql +%{_datadir}/%{pkg_name}/*.sql %{daemondir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir @@ -950,6 +934,19 @@ fi %endif %changelog +* Tue Oct 23 2018 Michal Schorm - 8.0.13-1 +- Rebase to 8.0.13 +- ICU patch removed; upstreamed +- Patch for MySQL Router introduced. Do not build it. +- CVEs fixed: + CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195 + CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247 + CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282 + CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145 + CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143 + CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185 + CVE-2018-3280 CVE-2018-3203 CVE-2018-3155 + * Thu Sep 06 2018 Michal Schorm - 8.0.12-2 - Fix the SYS_NICE capabilities Related: #1540946 diff --git a/sources b/sources index 53e97a1..730ca16 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.12.tar.gz) = 68aeb0bb69f7087e0c308fe735f67dd973a6a2282b4027f9e20bed5e179f48e073d116542ae0dce80de7538e62247bd893ed2eb13371188e1b5019ff74c4b9ad +SHA512 (mysql-boost-8.0.13.tar.gz) = 3452ee09f3c1217bd86137fc415ea67140a81c22ca208e8edf1f9f6b6ad05fd99251ae8ad6283a3bdf316633d8969331e716bc566a8ff138d81ddb575da269fe From df4602a64f197033ff6a376cb4e3bad4be2a8d05 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 30 Oct 2018 16:44:01 +0100 Subject: [PATCH 211/274] Extend the comment for MySQL Router patch --- community-mysql-router.patch | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/community-mysql-router.patch b/community-mysql-router.patch index 6e19604..f86d2ea 100644 --- a/community-mysql-router.patch +++ b/community-mysql-router.patch @@ -1,8 +1,13 @@ Do not build MySQL Router. It is a set of tools and libraries used for the InnoDB cluster. -However without MySQL SHELL it can't be operated. -We don't pack the MySQL SHELL, so don´t build the router at all. +However without MySQL Shell it can't be operated. +We don't pack the MySQL Shell, so don´t build the router at all. + + + +I have this confirmed from the mail conversation with the MySQL side: +"While technically possible, it's practically impossible to set up router without the MySQL Shell." --- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200 +++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200 From 18294616dc889c809eef256daa47beaf51358407 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 2 Jan 2019 11:26:51 +0100 Subject: [PATCH 212/274] Add failing test --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 0ae6990..7089081 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -414,6 +414,8 @@ add_test x.connection_openssl_unixsocket : add_test x.connection_tls_version : add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : +# Fails from 1.1. 2019 +add_test auth_sec.openssl_cert_validity : # these tests fail on arm %ifarch %arm aarch64 From ecc6b130f4533fb8b8fefec89c7e44810dab088d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 14 Jan 2019 18:58:26 +0100 Subject: [PATCH 213/274] Rebuilt for libcrypt.so.2 (#1666033) --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7089081..af33c1d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -80,7 +80,7 @@ Name: community-mysql Version: 8.0.13 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -936,6 +936,9 @@ fi %endif %changelog +* Mon Jan 14 2019 Björn Esser - 8.0.13-2 +- Rebuilt for libcrypt.so.2 (#1666033) + * Tue Oct 23 2018 Michal Schorm - 8.0.13-1 - Rebase to 8.0.13 - ICU patch removed; upstreamed From 1eca26500e3e35e5e3c7c8d8b3d669aa7d538ad6 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Jan 2019 13:07:05 +0100 Subject: [PATCH 214/274] Disable test 'main.mysqldump' --- community-mysql.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index af33c1d..5d7a6ed 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -416,6 +416,8 @@ add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : # Fails from 1.1. 2019 add_test auth_sec.openssl_cert_validity : +# +add_test main.mysqldump : # these tests fail on arm %ifarch %arm aarch64 From 421f344096cbf0bb99d886382eb28f8c34a0cc23 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 16 Jan 2019 13:23:01 +0100 Subject: [PATCH 215/274] Tweak handling of the mysql-selinux requirement --- community-mysql.spec | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5d7a6ed..be36866 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -10,6 +10,9 @@ # Set this to 1 to see which tests fail %global check_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}} @@ -80,7 +83,7 @@ Name: community-mysql Version: 8.0.13 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -287,6 +290,12 @@ Recommends: libcap # semanage Requires(post): policycoreutils-python-utils +# Aditional SELinux rules (common for MariaDB & MySQL) shipped in a separate package +# For cases, where we want to fix a SELinux issues in MySQL sooner than patched selinux-policy-targeted package is released +%if %require_mysql_selinux +Requires: (mysql-selinux if selinux-policy-targeted) +%endif + %if %{with mysql_names} Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} @@ -938,6 +947,9 @@ fi %endif %changelog +* Wed Jan 16 2019 Michal Schorm - 8.0.13-3 +- Tweak handling of the mysql-selinux requirement + * Mon Jan 14 2019 Björn Esser - 8.0.13-2 - Rebuilt for libcrypt.so.2 (#1666033) From 64898829e902588959c0f896e89bc85814f8f9ab Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Wed, 23 Jan 2019 10:29:27 +0100 Subject: [PATCH 216/274] Update to MySQL 8.0.14 --- community-mysql-gcc9.patch | 15 +++++++++++++++ community-mysql.spec | 17 +++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 community-mysql-gcc9.patch diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch new file mode 100644 index 0000000..652390f --- /dev/null +++ b/community-mysql-gcc9.patch @@ -0,0 +1,15 @@ +diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt +index 8cc64089f5a..2ee48177b85 100644 +--- a/client/CMakeLists.txt ++++ b/client/CMakeLists.txt +@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient) + + MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc) + TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl) +-# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ?? +-IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0") +- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++) +-ENDIF() + + # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". + IF(WIN32) diff --git a/community-mysql.spec b/community-mysql.spec index be36866..7a6fa08 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -82,8 +82,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.13 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.14 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -123,6 +123,7 @@ Patch5: %{pkgnamepatch}-paths.patch Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-router.patch +Patch54: %{pkgnamepatch}-gcc9.patch Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 @@ -183,7 +184,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.67 +Provides: bundled(boost) = 1.68 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -377,10 +378,11 @@ the MySQL sources. %patch51 -p1 %patch52 -p1 %patch53 -p1 +%patch54 -p1 %patch75 -p1 # Patch Boost -pushd boost/boost_1_67_0 +pushd boost/boost_1_??_0 %patch115 -p0 %patch125 -p1 popd @@ -858,8 +860,6 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror -%{_bindir}/resolve_stack_dump -%{_bindir}/resolveip %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -896,8 +896,6 @@ fi %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* -%{_mandir}/man1/resolve_stack_dump.1* -%{_mandir}/man1/resolveip.1* %{_mandir}/man1/lz4_decompress.1* %{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* @@ -947,6 +945,9 @@ fi %endif %changelog +* Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 +- Update to MySQL 8.0.14 + * Wed Jan 16 2019 Michal Schorm - 8.0.13-3 - Tweak handling of the mysql-selinux requirement From 6b973cd88b0f44a045f8af03d3402f7a6f1ebe65 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 23 Jan 2019 17:49:17 +0100 Subject: [PATCH 217/274] SPECfile cleanup Update of skipped tests list --- community-mysql.spec | 88 +++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 46 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 7a6fa08..3d2d25b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -43,7 +43,7 @@ %bcond_with debug # Include files for SysV init or systemd -%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 +%if 0%{?fedora} || 0%{?rhel} >= 7 %bcond_without init_systemd %bcond_with init_sysv %global daemondir %{_unitdir} @@ -144,11 +144,11 @@ BuildRequires: bison BuildRequires: numactl-devel %endif BuildRequires: openssl-devel -%if 0%{?fedora} > 24 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter BuildRequires: perl-generators %endif -%if 0%{?fedora} > 27 || 0%{?rhel} > 7 +%if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: rpcgen BuildRequires: libtirpc-devel %endif @@ -198,7 +198,7 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?fedora} > 14 || 0%{?rhel} > 6 +%if 0%{?fedora} || 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 @@ -307,8 +307,6 @@ Obsoletes: mysql-bench < 5.7.8 Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} -# A dependency mistake was made, to fix it, old version of the utils must be Obsoleted. Affected versions: F24, F25, F26 until their EOL. -Obsoletes: mariadb-server-utils < 3:10.1.21-3 %description server MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -396,11 +394,10 @@ add_test () { touch %{skiplist} -# Fails everywhere +# Fails everywhere; last check: 8.0.14 add_test auth_sec.cert_verify : add_test auth_sec.mysql_ssl_connection : add_test auth_sec.openssl_cert_generation : -add_test auth_sec.openssl_without_fips : add_test auth_sec.ssl_auto_detect : add_test auth_sec.ssl_mode : add_test auth_sec.tls : @@ -408,11 +405,10 @@ add_test binlog.binlog_grant_alter_user : add_test innodb.create_tablespace : add_test main.grant_alter_user_qa : add_test main.grant_user_lock_qa : +add_test main.mysqldump : add_test main.mysql_ssl_default : add_test main.openssl_1 : -add_test main.persisted_variables_bugs : add_test main.plugin_auth_sha256_tls : -add_test main.read_only_persisted_plugin_variables : add_test main.ssl : add_test main.ssl_ca : add_test main.ssl_cipher : @@ -420,39 +416,28 @@ add_test main.ssl_compress : add_test main.ssl_crl : add_test main.ssl_verify_identity : add_test main.ssl_8k_key : +add_test main.type_float : +add_test perfschema.start_server_zero_digest_sql_length : add_test x.connection_openssl : add_test x.connection_openssl_unixsocket : add_test x.connection_tls_version : add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : -# Fails from 1.1. 2019 -add_test auth_sec.openssl_cert_validity : -# -add_test main.mysqldump : -# these tests fail on arm -%ifarch %arm aarch64 -add_test innodb.log_corruption : -add_test innodb.innodb-wl6445-2 : -add_test gis.st_latitude : -add_test gis.st_longitude : -add_test main.log_options_cmdline: -# Missing hw counters; in 5.7.21 reported as unstable tests -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 -add_test perfschema.func_mutex : missing hw on arm32 -%endif - -# This test fail on ppc64 and ppc64le; applicable in 5.7.21 -%ifarch ppc64le -add_test innodb.create_tablespace : +# These tests fail on ppc64 and ppc64le; last check 8.0.14 +%ifarch ppc ppc64 ppc64le add_test innodb.instant_add_column_basic : add_test innodb.temporary_table_optimization : add_test json.json_functions_innodb : +add_test main.ctype_utf8 : +add_test main.ctype_utf8mb4_heap : +add_test main.ctype_utf8mb4_innodb : +add_test main.ctype_utf8mb4_myisam : add_test main.histograms : add_test main.opt_costmodel : add_test main.ps : +add_test main.regular_expressions_func : +add_test main.regular_expressions_utf-8 : add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : @@ -463,10 +448,25 @@ add_test main.select_none : add_test main.select_none_bka : add_test main.select_none_bka_nixbnl : add_test main.sp : -add_test main.type_float : add_test main.type_newdecimal : add_test main.type_ranges : add_test test_service_sql_api.test_sql_all_col_types : +add_test x.multiple_resultsets : +%endif + +# These tests fail on armv7hl; last check 8.0.14 +%ifarch %arm aarch64 +add_test gis.st_latitude : +add_test gis.st_longitude : +add_test x.connection_auth_mechanism_memory_ssl : +add_test x.connection_auth_mechanism_memory_with_invalidation : +add_test x.connection_auth_mechanism_memory1 : +add_test x.connection_auth_mechanism_memory2 : +# Missing hw counters; in 5.7.21 reported as unstable tests +add_test perfschema.func_file_io : missing hw on arm32 +add_test perfschema.func_mutex : missing hw on arm32 +add_test perfschema.global_read_lock : missing hw on arm32 +add_test perfschema.setup_objects : missing hw on arm32 %endif popd @@ -689,13 +689,14 @@ pushd mysql-test cp ../../mysql-test/%{skiplist} . # builds might happen at the same host, avoid collision export MTR_BUILD_THREAD=%{__isa_bits} + ./mtr %{?with_debug:--debug-server} \ --mem --parallel=auto --force --retry=2 \ --mysqld=--binlog-format=mixed \ --suite-timeout=720 --testcase-timeout=30 \ --report-unstable-tests --clean-vardir \ %if %{check_testsuite} - --max-test-fail=100 || : + --max-test-fail=0 || : %else --skip-test-list=%{skiplist} %endif @@ -710,11 +711,6 @@ popd /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_post libs -%endif - %post server %if %{with init_systemd} %systemd_post %{daemon_name}.service @@ -727,9 +723,6 @@ fi if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi -# TODO: remove after selinux-policy is fixed (BZ#1602153) -semanage fcontext -a -t mysqld_log_t '/var/log/mysql(/.*)?' -restorecon -r %{logfiledir} # Enable the SYS_NICE capablilities; #1540946 if [ -e "/usr/sbin/setcap" ] ; then @@ -747,11 +740,6 @@ if [ $1 = 0 ]; then fi %endif -%if %{with clibrary} -# Can be dropped on F27 EOL -%ldconfig_postun libs -%endif - %postun server %if %{with init_systemd} %systemd_postun_with_restart %{daemon_name}.service @@ -947,6 +935,14 @@ fi %changelog * Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 - Update to MySQL 8.0.14 +- Remove fedora version condition that are no longer relevant +- Update skipped tests list +- CVEs fixed: #1666778 + CVE-2019-2420 CVE-2019-2434 CVE-2019-2436 CVE-2019-2455 CVE-2019-2481 + CVE-2019-2482 CVE-2019-2486 CVE-2019-2494 CVE-2019-2495 CVE-2019-2502 + CVE-2019-2503 CVE-2019-2507 CVE-2019-2510 CVE-2019-2528 CVE-2019-2529 + CVE-2019-2530 CVE-2019-2531 CVE-2019-2532 CVE-2019-2533 CVE-2019-2534 + CVE-2019-2535 CVE-2019-2536 CVE-2019-2537 CVE-2019-2539 * Wed Jan 16 2019 Michal Schorm - 8.0.13-3 - Tweak handling of the mysql-selinux requirement From da6ca5e5e2ac368c8681a2b130f25f97295f468e Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 28 Jan 2019 16:43:41 +0100 Subject: [PATCH 218/274] New sources for 8.0.14 --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 730ca16..dbf4bc6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.13.tar.gz) = 3452ee09f3c1217bd86137fc415ea67140a81c22ca208e8edf1f9f6b6ad05fd99251ae8ad6283a3bdf316633d8969331e716bc566a8ff138d81ddb575da269fe +SHA512 (community-mysql-8.0.14-1.fc30.src.rpm) = b25819f280b2aa8c18a920b268db2ee50d1581e92d4fece3bffcc0a3bce3aadf096f59fcbddbff1c8f8362d6ee4e8cd5475fcb008170717c0593c41846cf35fb From 28407f41c8a7085fde838ea8857dc0c12f940e9c Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 28 Jan 2019 17:10:01 +0100 Subject: [PATCH 219/274] Correct sources this time --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index dbf4bc6..fd1c55e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (community-mysql-8.0.14-1.fc30.src.rpm) = b25819f280b2aa8c18a920b268db2ee50d1581e92d4fece3bffcc0a3bce3aadf096f59fcbddbff1c8f8362d6ee4e8cd5475fcb008170717c0593c41846cf35fb +SHA512 (mysql-boost-8.0.14.tar.gz) = b6f2897d9258fefc3f945d52b3f510fae41c23b4a572c7af91665cca5f1b46fdc0a07aaafd5646c32105a31ee7a7a85d755b9a8bdc377c4d8528eeb52fc25fe8 From c563f0ade61882869e317f8ac3b7da7b61f8242e Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:41 +0100 Subject: [PATCH 220/274] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- community-mysql.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 3d2d25b..209c148 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -258,7 +258,6 @@ MySQL package. %if %{with errmsg} %package errmsg Summary: The error messages files required by MySQL server -Group: Applications/Databases Requires: %{name}-common%{?_isa} = %{sameevr} %description errmsg From 03673e1f1bfbfaeceb5a8ed076fd16e5783656d4 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 29 Jan 2019 16:30:07 +0100 Subject: [PATCH 221/274] Update failing tests that started to fail due to changes in Rawhide --- community-mysql.spec | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 209c148..75bb849 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -423,20 +423,22 @@ add_test x.connection_tls_version : add_test x.mysqlxtest_mode_ssl : add_test x.mysqlxtest_mode_ssl_unixsocket : +# Started failing in due to changes in Rawhide after ~25.1.2019 +add_test main.ctype_utf8 : +add_test main.ctype_utf8mb4_heap : +add_test main.ctype_utf8mb4_innodb : +add_test main.ctype_utf8mb4_myisam : +add_test main.regular_expressions_func : +add_test main.regular_expressions_utf-8 : + # These tests fail on ppc64 and ppc64le; last check 8.0.14 %ifarch ppc ppc64 ppc64le add_test innodb.instant_add_column_basic : add_test innodb.temporary_table_optimization : add_test json.json_functions_innodb : -add_test main.ctype_utf8 : -add_test main.ctype_utf8mb4_heap : -add_test main.ctype_utf8mb4_innodb : -add_test main.ctype_utf8mb4_myisam : add_test main.histograms : add_test main.opt_costmodel : add_test main.ps : -add_test main.regular_expressions_func : -add_test main.regular_expressions_utf-8 : add_test main.select_all : add_test main.select_all_bka : add_test main.select_all_bka_nixbnl : From 7c7c8b37e07ecaa3b86e0a2742368823cc2e1862 Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Sun, 27 Jan 2019 10:47:35 +0000 Subject: [PATCH 222/274] Use RPATH for mysqld, so we can later set capabilities Set capabilities for mysqld the correct way --- community-mysql-rpath.patch | 18 ++++++++++++++++++ community-mysql.spec | 17 ++++++++++------- 2 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 community-mysql-rpath.patch diff --git a/community-mysql-rpath.patch b/community-mysql-rpath.patch new file mode 100644 index 0000000..00cafa6 --- /dev/null +++ b/community-mysql-rpath.patch @@ -0,0 +1,18 @@ +MySQL 8.0 includes a feature that requires we set linux NICE capabilities to +mysqld daemon. Because of that, LD_LIBRARY_PATH does not work (see +secure-execution mode in http://man7.org/linux/man-pages/man8/ld.so.8.html). + +Related: #1628814 + +diff -up mysql-8.0.12/sql/CMakeLists.txt.patchrpath mysql-8.0.12/sql/CMakeLists.txt +--- mysql-8.0.12/sql/CMakeLists.txt.patchrpath 2018-09-14 13:59:02.884021458 +0200 ++++ mysql-8.0.12/sql/CMakeLists.txt 2018-09-14 14:01:10.897983621 +0200 +@@ -711,6 +711,8 @@ ENDIF() + MYSQL_ADD_EXECUTABLE(mysqld + ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) + ++SET_TARGET_PROPERTIES(mysqld PROPERTIES INSTALL_RPATH "${RPATH_LIBDIR}") ++ + OPTION(DEBUG_EXTNAME "Build server as mysqld-debug (debug builds only)" OFF) + MARK_AS_ADVANCED(DEBUG_EXTNAME) + diff --git a/community-mysql.spec b/community-mysql.spec index 75bb849..1771ae0 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,7 +83,7 @@ Name: community-mysql Version: 8.0.14 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -124,6 +124,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch53: %{pkgnamepatch}-router.patch Patch54: %{pkgnamepatch}-gcc9.patch +Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch # Patches taken from boost 1.59 @@ -376,6 +377,7 @@ the MySQL sources. %patch52 -p1 %patch53 -p1 %patch54 -p1 +%patch55 -p1 %patch75 -p1 # Patch Boost @@ -509,6 +511,7 @@ cmake .. \ -DINSTALL_INFODIR=share/info \ -DINSTALL_LIBEXECDIR=libexec \ -DINSTALL_LIBDIR="%{_lib}/mysql" \ + -DRPATH_LIBDIR="%{_libdir}" \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/%{pkg_name} \ -DINSTALL_MYSQLTESTDIR=share/mysql-test \ @@ -725,11 +728,6 @@ if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi -# Enable the SYS_NICE capablilities; #1540946 -if [ -e "/usr/sbin/setcap" ] ; then - setcap cap_sys_nice+ep /usr/libexec/mysqld -fi - %preun server %if %{with init_systemd} %systemd_preun %{daemon_name}.service @@ -853,7 +851,8 @@ fi %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf %{_sbindir}/mysqld -%{_libexecdir}/mysqld +# sys_nice capability required for rhbz#1628814 +%caps(cap_sys_nice=ep) %{_libexecdir}/mysqld %{_libdir}/mysql/INFO_SRC %{_libdir}/mysql/INFO_BIN @@ -934,6 +933,10 @@ fi %endif %changelog +* Sun Jan 27 2019 Honza Horak - 8.0.14-2 +- Use RPATH for mysqld, so we can later set capabilities +- Set capabilities for mysqld the correct way + * Mon Jan 21 2019 Lars Tangvald - 8.0.14-1 - Update to MySQL 8.0.14 - Remove fedora version condition that are no longer relevant From b5baffdffd96d511f79254fd56f9a78b777df2a2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 16:03:45 +0000 Subject: [PATCH 223/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1771ae0..622c1db 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -83,7 +83,7 @@ Name: community-mysql Version: 8.0.14 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -933,6 +933,9 @@ fi %endif %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 8.0.14-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sun Jan 27 2019 Honza Horak - 8.0.14-2 - Use RPATH for mysqld, so we can later set capabilities - Set capabilities for mysqld the correct way From 6e1efab1d66b446dc96bc79cb3091f455e12a122 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Feb 2019 11:32:08 +0100 Subject: [PATCH 224/274] Update to 8.0.15 --- community-mysql.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 622c1db..148ba48 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -82,8 +82,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.14 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.15 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -933,6 +933,9 @@ fi %endif %changelog +* Mon Feb 11 2019 Michal Schorm - 8.0.15-1 +- Update to MySQL 8.0.15 + * Thu Jan 31 2019 Fedora Release Engineering - 8.0.14-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index fd1c55e..b9632c3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.14.tar.gz) = b6f2897d9258fefc3f945d52b3f510fae41c23b4a572c7af91665cca5f1b46fdc0a07aaafd5646c32105a31ee7a7a85d755b9a8bdc377c4d8528eeb52fc25fe8 +SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3 From 780acf29b57620e611485136b71bdb74921c2610 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Fri, 26 Apr 2019 15:37:22 +0200 Subject: [PATCH 225/274] Update to MySQL 8.0.16 --- community-mysql-gcc9.patch | 15 ----- community-mysql-router.patch | 22 ------- community-mysql-sharedir.patch | 18 ++---- community-mysql.spec | 112 +++++++-------------------------- sources | 2 +- 5 files changed, 30 insertions(+), 139 deletions(-) delete mode 100644 community-mysql-gcc9.patch delete mode 100644 community-mysql-router.patch diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch deleted file mode 100644 index 652390f..0000000 --- a/community-mysql-gcc9.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt -index 8cc64089f5a..2ee48177b85 100644 ---- a/client/CMakeLists.txt -+++ b/client/CMakeLists.txt -@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient) - - MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc) - TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl) --# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ?? --IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0") -- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++) --ENDIF() - - # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/". - IF(WIN32) diff --git a/community-mysql-router.patch b/community-mysql-router.patch deleted file mode 100644 index f86d2ea..0000000 --- a/community-mysql-router.patch +++ /dev/null @@ -1,22 +0,0 @@ -Do not build MySQL Router. -It is a set of tools and libraries used for the InnoDB cluster. - -However without MySQL Shell it can't be operated. -We don't pack the MySQL Shell, so don´t build the router at all. - - - -I have this confirmed from the mail conversation with the MySQL side: -"While technically possible, it's practically impossible to set up router without the MySQL Shell." - ---- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200 -+++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200 -@@ -1046,7 +1046,7 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/s - - # depends on mysql_version.h to exist - IF(NOT WITHOUT_SERVER) -- ADD_SUBDIRECTORY(router) -+# ADD_SUBDIRECTORY(router) - ENDIF() - - GET_PROPERTY(CWD_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS) diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index cb1f1dc..72fe369 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,28 +1,22 @@ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt -index 7c1e82b5..a92ba915 100644 +index 1eb22c37..e200d4eb 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt -@@ -56,6 +56,10 @@ INSTALL( +@@ -56,6 +56,9 @@ INSTALL( ENDIF() -+# Expand some paths in the perl scripts correctly -+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY) ++# Expand some paths in the perl script correctly +CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY) + IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) # Enable running mtr from build directory - CONFIGURE_FILE( + FIND_PROGRAM(PERL_EXECUTABLE perl diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index 8c058527..7acd8534 100755 +index 05a504da..9cdc2cda 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl -@@ -1479,11 +1479,11 @@ sub command_line_setup { - } - - # Look for language files and charsetsdir, use same share -- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share"); -+ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share"); +@@ -1626,7 +1626,7 @@ sub command_line_setup { my $path_share = $path_language; @share_locations = diff --git a/community-mysql.spec b/community-mysql.spec index 148ba48..bbbc4eb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -82,7 +82,7 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.15 +Version: 8.0.16 Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -122,8 +122,6 @@ Patch5: %{pkgnamepatch}-paths.patch # Patches specific for this mysql package Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch -Patch53: %{pkgnamepatch}-router.patch -Patch54: %{pkgnamepatch}-gcc9.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch @@ -375,8 +373,6 @@ the MySQL sources. %patch5 -p1 %patch51 -p1 %patch52 -p1 -%patch53 -p1 -%patch54 -p1 %patch55 -p1 %patch75 -p1 @@ -390,86 +386,20 @@ popd pushd mysql-test add_test () { - echo "$@" $ >> %{skiplist} + echo "$1" : BUG#0 "${@:2}" >> %{skiplist} } touch %{skiplist} -# Fails everywhere; last check: 8.0.14 -add_test auth_sec.cert_verify : -add_test auth_sec.mysql_ssl_connection : -add_test auth_sec.openssl_cert_generation : -add_test auth_sec.ssl_auto_detect : -add_test auth_sec.ssl_mode : -add_test auth_sec.tls : -add_test binlog.binlog_grant_alter_user : -add_test innodb.create_tablespace : -add_test main.grant_alter_user_qa : -add_test main.grant_user_lock_qa : -add_test main.mysqldump : -add_test main.mysql_ssl_default : -add_test main.openssl_1 : -add_test main.plugin_auth_sha256_tls : -add_test main.ssl : -add_test main.ssl_ca : -add_test main.ssl_cipher : -add_test main.ssl_compress : -add_test main.ssl_crl : -add_test main.ssl_verify_identity : -add_test main.ssl_8k_key : -add_test main.type_float : -add_test perfschema.start_server_zero_digest_sql_length : -add_test x.connection_openssl : -add_test x.connection_openssl_unixsocket : -add_test x.connection_tls_version : -add_test x.mysqlxtest_mode_ssl : -add_test x.mysqlxtest_mode_ssl_unixsocket : - -# Started failing in due to changes in Rawhide after ~25.1.2019 -add_test main.ctype_utf8 : -add_test main.ctype_utf8mb4_heap : -add_test main.ctype_utf8mb4_innodb : -add_test main.ctype_utf8mb4_myisam : -add_test main.regular_expressions_func : -add_test main.regular_expressions_utf-8 : - -# These tests fail on ppc64 and ppc64le; last check 8.0.14 -%ifarch ppc ppc64 ppc64le -add_test innodb.instant_add_column_basic : -add_test innodb.temporary_table_optimization : -add_test json.json_functions_innodb : -add_test main.histograms : -add_test main.opt_costmodel : -add_test main.ps : -add_test main.select_all : -add_test main.select_all_bka : -add_test main.select_all_bka_nixbnl : -add_test main.select_icp_mrr : -add_test main.select_icp_mrr_bka : -add_test main.select_icp_mrr_bka_nixbnl : -add_test main.select_none : -add_test main.select_none_bka : -add_test main.select_none_bka_nixbnl : -add_test main.sp : -add_test main.type_newdecimal : -add_test main.type_ranges : -add_test test_service_sql_api.test_sql_all_col_types : -add_test x.multiple_resultsets : -%endif - -# These tests fail on armv7hl; last check 8.0.14 +# These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 -add_test gis.st_latitude : -add_test gis.st_longitude : -add_test x.connection_auth_mechanism_memory_ssl : -add_test x.connection_auth_mechanism_memory_with_invalidation : -add_test x.connection_auth_mechanism_memory1 : -add_test x.connection_auth_mechanism_memory2 : -# Missing hw counters; in 5.7.21 reported as unstable tests -add_test perfschema.func_file_io : missing hw on arm32 -add_test perfschema.func_mutex : missing hw on arm32 -add_test perfschema.global_read_lock : missing hw on arm32 -add_test perfschema.setup_objects : missing hw on arm32 +add_test gis.st_latitude +add_test gis.st_longitude +# Missing hw counters +add_test perfschema.func_file_io missing hw on arm32 +add_test perfschema.func_mutex missing hw on arm32 +add_test perfschema.global_read_lock missing hw on arm32 +add_test perfschema.setup_objects missing hw on arm32 %endif popd @@ -533,6 +463,7 @@ cmake .. \ %ifarch s390 s390x -DUSE_LD_GOLD=OFF \ %endif + -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ -DWITH_BOOST=../boost \ -DREPRODUCIBLE_BUILD=OFF \ @@ -598,13 +529,7 @@ install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-c install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf -# 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 - rm %{buildroot}%{_libdir}/mysql/*.a -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/comp_err.1* @@ -679,7 +604,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} rm -r %{buildroot}%{_datadir}/mysql-test rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif @@ -704,7 +629,7 @@ export MTR_BUILD_THREAD=%{__isa_bits} %else --skip-test-list=%{skiplist} %endif - rm -r var $(readlink var) +rm -r var $(readlink var) popd popd %endif @@ -927,12 +852,21 @@ fi %files test %{_bindir}/mysql_client_test %{_bindir}/mysqltest +%{_bindir}/mysqltest_safe_process %{_bindir}/mysqlxtest -%{_bindir}/my_safe_process %attr(-,mysql,mysql) %{_datadir}/mysql-test %endif %changelog +* Fri Apr 26 2019 Lars Tangvald - 8.0.16-1 +- Update to MySQL 8.0.16 +- Rediff sharedir patch +- Refresh skip list and use new, required format +- Remove GCC9 patch now upstream +- Upstream: my_safe_process renamed and moved into proper location +- Use upstream option to skip router build +- OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests + * Mon Feb 11 2019 Michal Schorm - 8.0.15-1 - Update to MySQL 8.0.15 diff --git a/sources b/sources index b9632c3..b24db50 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3 +SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516 From 73cc16785bc0a9a337f8046a701d2ddb82121a1d Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 May 2019 15:52:14 +0200 Subject: [PATCH 226/274] Update RPMLint whitelist --- community-mysql.rpmlintrc | 37 ++++++++++++++++++++++++++++++ mysql-5.6.10-rpmlintrc | 48 --------------------------------------- 2 files changed, 37 insertions(+), 48 deletions(-) create mode 100644 community-mysql.rpmlintrc delete mode 100644 mysql-5.6.10-rpmlintrc diff --git a/community-mysql.rpmlintrc b/community-mysql.rpmlintrc new file mode 100644 index 0000000..605529e --- /dev/null +++ b/community-mysql.rpmlintrc @@ -0,0 +1,37 @@ +# 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|subpackage) ') + +# Debug symlinks +addFilter(r'dangling-relative-symlink /usr/lib/.build-id') + +# Testsuite +# Some expected tests results are zero-length files +addFilter(r'(zero-length|pem-certificate|hidden-file-or-dir) /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') +addFilter(r'no-manual-page-for-binary') + +# Cluster is gone +addFilter("W: obsolete-not-provided mysql-cluster") +addFilter("W: obsolete-not-provided mysql-bench") +addFilter("W: obsolete-not-provided community-mysql-bench") + +# 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') + +# Seems pretty standard to me ... +addFilter(r'non-standard-dir-perm /var/log/mysql 750') diff --git a/mysql-5.6.10-rpmlintrc b/mysql-5.6.10-rpmlintrc deleted file mode 100644 index dfcdf39..0000000 --- a/mysql-5.6.10-rpmlintrc +++ /dev/null @@ -1,48 +0,0 @@ -# Filtered out until upstream fixes them -# Upstream bug: http://bugs.mysql.com/68518 -addFilter("incorrect-fsf-address") - -# Done to avoid _prefix/lib64/tmpfiles.d -addFilter("E: hardcoded-library-path in %\{_prefix\}/lib/tmpfiles.d") - -# Keeping the old summary for now -addFilter("W: name-repeated-in-summary C MySQL") - -# Spellchecked -addFilter("W: spelling-error %description -l en_US multi -> mulch, mufti") -addFilter("W: spelling-error %description -l en_US benchmarking -> bench marking, bench-marking, benchmark") -addFilter("W: spelling-error Summary(en_US) embeddable -> embedded") -addFilter("W: spelling-error.*embeddable -> embedded") - -# As long as the manual is part of the original tarball, we have do to -# this -addFilter("mysql.src: W: invalid-url Source0: mysql-5.6.[0-9]+-nodocs.tar.gz") - -# Leave the logfile where it is for now -addFilter("E: non-root-user-log-file /var/log/mysqld.log mysql") -addFilter("E: non-root-group-log-file /var/log/mysqld.log mysql") -addFilter("E: non-ghost-file /var/log/mysqld.log") -addFilter("E: zero-length /var/log/mysqld.log") - -addFilter("E: incoherent-logrotate-file /etc/logrotate.d/mysqld") - -# Hidden files and zero lenght files is normal for some tests -addFilter("W: hidden-file-or-dir /usr/share/mysql-test/std_data/.mylogin.cnf") -addFilter("E: zero-length /usr/share/mysql-test/suite/parts/t/disabled.def") -addFilter("E: zero-length /usr/share/mysql-test/std_data/bug37631.MYD") -addFilter("E: zero-length /usr/share/mysql-test/std_data/cluster_7022_table.MYD") -addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-weekly.list") -addFilter("E: zero-length /usr/share/mysql-test/collections/disabled-daily.list") - -# debuginfo bug? -addFilter("E: non-standard-dir-perm /usr/src/debug/tmp 01777") - -# mysql-config *script* in lib -addFilter("W: only-non-binary-in-usr-lib") - -# missing -addFilter("W: no-manual-page-for-binary my_safe_process") - -# cluster is gone -addFilter("W: obsolete-not-provided mysql-cluster") - From 7ee5c2cf8ac9092118306d4021e39726baa7389f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 May 2019 21:07:27 +0200 Subject: [PATCH 227/274] Update version of bundled Boost Start requiring mysql-selinux package --- community-mysql.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index bbbc4eb..e16ac12 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -11,7 +11,7 @@ %global check_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}} @@ -183,7 +183,7 @@ BuildRequires: perl(Time::HiRes) Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.68 +Provides: bundled(boost) = 1.69 %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -866,6 +866,8 @@ fi - Upstream: my_safe_process renamed and moved into proper location - Use upstream option to skip router build - OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests +- Update version of bundled Boost +- Start requiring mysql-selinux package * Mon Feb 11 2019 Michal Schorm - 8.0.15-1 - Update to MySQL 8.0.15 From 7e955cd4230ce03e6abc7e0922bd6b4c90881df5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Wed, 1 May 2019 03:40:02 +0200 Subject: [PATCH 228/274] Remove SysVInit stuff Clean up the SPECfile --- community-mysql-scripts.patch | 5 +- community-mysql.spec | 94 +++-------------- mysql-check-upgrade.sh | 39 ------- mysql-wait-ready.sh | 45 -------- mysql.init.in | 186 ---------------------------------- mysql.service.in | 1 - mysql@.service.in | 1 - 7 files changed, 13 insertions(+), 358 deletions(-) delete mode 100644 mysql-check-upgrade.sh delete mode 100644 mysql-wait-ready.sh delete mode 100644 mysql.init.in diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index b1095ff..122c05a 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,7 +1,7 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt --- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 +++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 -@@ -483,6 +483,35 @@ ELSE() +@@ -483,6 +483,32 @@ ELSE() PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() @@ -12,13 +12,10 @@ diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists + mysql.service + mysql@.service + mysql-prepare-db-dir -+ mysql-wait-ready + mysql-wait-stop + mysql-check-socket -+ mysql-check-upgrade + mysql-scripts-common + mysql_config_multilib -+ mysql.init + my.cnf + server.cnf + ) diff --git a/community-mysql.spec b/community-mysql.spec index e16ac12..18b86bd 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -17,9 +17,6 @@ %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 - # 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 @@ -42,25 +39,12 @@ # 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} || 0%{?rhel} >= 7 -%bcond_without init_systemd -%bcond_with init_sysv -%global daemondir %{_unitdir} -%else -%bcond_with init_systemd -%bcond_without init_sysv -%global daemondir %{_sysconfdir}/rc.d/init.d -%endif +# Include files for systemd %global daemon_name mysqld %global daemon_no_prefix mysqld # Directory for storing pid file -%if 0%{?rhel} == 6 -%global pidfiledir %{_localstatedir}/run/%{daemon_name} -%else %global pidfiledir %{_rundir}/%{daemon_name} -%endif # We define some system's well known locations here so we can use them easily # later when building to another location (like SCL) @@ -83,7 +67,7 @@ Name: community-mysql Version: 8.0.16 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -99,13 +83,10 @@ 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 # To track rpmlint warnings Source30: mysql-5.6.10-rpmlintrc # Configuration for server @@ -176,7 +157,7 @@ BuildRequires: perl(Socket) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) -%{?with_init_systemd:BuildRequires: systemd} +BuildRequires: systemd @@ -197,14 +178,8 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering -%if 0%{?fedora} || 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 -%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 %description MySQL is a multi-user, multi-threaded SQL database server. MySQL is a @@ -278,12 +253,10 @@ Requires: %{name}-errmsg%{?_isa} = %{sameevr} %{?mecab:Requires: mecab-ipadic} Requires: coreutils 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 %{?systemd_requires: %systemd_requires} -%endif # SYS_NICE capabilities; #1540946 Recommends: libcap # semanage @@ -404,8 +377,8 @@ add_test perfschema.setup_objects missing hw on arm32 popd -cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} \ - %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE31} scripts +cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ + %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build # fail quickly and obviously if user tries to build as root @@ -451,11 +424,9 @@ cmake .. \ -DMYSQL_DATADIR="%{dbdatadir}" \ -DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \ -DENABLED_LOCAL_INFILE=ON \ -%if %{with init_systemd} -DWITH_SYSTEMD=1 \ -DSYSTEMD_SERVICE_NAME="%{daemon_name}" \ -DSYSTEMD_PID_DIR="%{pidfiledir}" \ -%endif -DWITH_INNODB_MEMCACHED=ON \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ @@ -472,7 +443,7 @@ cmake .. \ %{?with_debug: -DWITH_DEBUG=1}\ %{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ -DTMPDIR=/var/tmp \ - %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} + -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now" cmake .. -LAH @@ -508,24 +479,15 @@ install -D -p -m 0644 scripts/my.cnf %{buildroot}%{_sysconfdir}/my.cnf %endif # 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}/%{daemon_name}.conf rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf -%endif - -# install SysV init script -%if %{with init_sysv} -install -D -p -m 755 scripts/mysql.init %{buildroot}%{daemondir}/%{daemon_name} -install -p -m 755 scripts/mysql-wait-ready %{buildroot}%{_libexecdir}/mysql-wait-ready -%endif # helper scripts for service starting install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir 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 install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -641,38 +603,16 @@ popd -c "MySQL Server" -u 27 mysql >/dev/null 2>&1 || : %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 if [ ! -e "%{logfile}" -a ! -h "%{logfile}" ] ; then install /dev/null -m0640 -omysql -gmysql "%{logfile}" fi %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 %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 %if %{with client} %files @@ -763,12 +703,7 @@ fi %{_bindir}/mysql_ssl_rsa_setup %{_bindir}/mysql_tzinfo_to_sql %{_bindir}/mysql_upgrade -%if %{with init_systemd} %{_bindir}/mysqld_pre_systemd -%else -%{_bindir}/mysqld_multi -%{_bindir}/mysqld_safe -%endif %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror @@ -799,13 +734,8 @@ fi %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* -%if %{with init_systemd} %exclude %{_mandir}/man1/mysqld_multi.1* %exclude %{_mandir}/man1/mysqld_safe.1* -%else -%{_mandir}/man1/mysqld_multi.1* -%{_mandir}/man1/mysqld_safe.1* -%endif %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* @@ -816,17 +746,13 @@ fi %{_datadir}/%{pkg_name}/dictionary.txt %{_datadir}/%{pkg_name}/*.sql -%{daemondir}/%{daemon_name}* +%{_unitdir}/%{daemon_name}* %{_libexecdir}/mysql-prepare-db-dir -%if %{with init_sysv} -%{_libexecdir}/mysql-wait-ready -%endif %{_libexecdir}/mysql-wait-stop %{_libexecdir}/mysql-check-socket -%{_libexecdir}/mysql-check-upgrade %{_libexecdir}/mysql-scripts-common -%{?with_init_systemd:%{_tmpfilesdir}/%{daemon_name}.conf} +%{_tmpfilesdir}/%{daemon_name}.conf %attr(0755,mysql,mysql) %dir %{dbdatadir} %attr(0750,mysql,mysql) %dir %{_localstatedir}/lib/mysql-files %attr(0700,mysql,mysql) %dir %{_localstatedir}/lib/mysql-keyring @@ -858,6 +784,10 @@ fi %endif %changelog +* Wed May 01 2019 Michal Schorm - 8.0.16-2 +- Remove SysVInit stuff, no longer needed +- Clean up the SPECfile + * Fri Apr 26 2019 Lars Tangvald - 8.0.16-1 - Update to MySQL 8.0.16 - Rediff sharedir patch diff --git a/mysql-check-upgrade.sh b/mysql-check-upgrade.sh deleted file mode 100644 index cf41d84..0000000 --- a/mysql-check-upgrade.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/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 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: -http://dev.mysql.com/doc/refman/5.6/en/mysql-upgrade.html -EOF -fi - -exit 0 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 6ae046c..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 || 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 - # 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' \ - --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 $? diff --git a/mysql.service.in b/mysql.service.in index 4a7c295..0e96374 100644 --- a/mysql.service.in +++ b/mysql.service.in @@ -40,7 +40,6 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --basedir=@prefix@ -ExecStartPost=@libexecdir@/mysql-check-upgrade ExecStopPost=@libexecdir@/mysql-wait-stop # Give a reasonable amount of time for the server to start up/shut down diff --git a/mysql@.service.in b/mysql@.service.in index 554f0ba..b7b2d48 100644 --- a/mysql@.service.in +++ b/mysql@.service.in @@ -40,7 +40,6 @@ ExecStartPre=@libexecdir@/mysql-prepare-db-dir --defaults-group-suffix=.%I %n # Note: we set --basedir to prevent probes that might trigger SELinux alarms, # per bug #547485 ExecStart=@libexecdir@/mysqld --defaults-group-suffix=.%I --basedir=@prefix@ -ExecStartPost=@libexecdir@/mysql-check-upgrade --defaults-group-suffix=.%I ExecStopPost=@libexecdir@/mysql-wait-stop --defaults-group-suffix=.%I # Give a reasonable amount of time for the server to start up/shut down From 017d9e3e363f32f51a64216473a0908c98543bee Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 28 May 2019 15:17:32 +0200 Subject: [PATCH 229/274] Fix the name of rpmlintrc file in the SPECfile --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 18b86bd..9b6f2c5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -88,7 +88,7 @@ Source15: mysql-scripts-common.sh Source17: mysql-wait-stop.sh Source18: mysql@.service.in # To track rpmlint warnings -Source30: mysql-5.6.10-rpmlintrc +Source30: %{pkgnamepatch}.rpmlintrc # Configuration for server Source31: server.cnf.in From 8eefbd92a9984f8e6fb773e4a21d829d0a5c233c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 20:46:11 +0000 Subject: [PATCH 230/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9b6f2c5..2f1eb00 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.16 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -784,6 +784,9 @@ fi %endif %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 8.0.16-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Wed May 01 2019 Michal Schorm - 8.0.16-2 - Remove SysVInit stuff, no longer needed - Clean up the SPECfile From dbb00c966adb3811928dbe18ffff22fff0d54cdf Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Fri, 2 Aug 2019 13:44:21 +0200 Subject: [PATCH 231/274] Update to MySQL 8.0.17 --- community-mysql-paths.patch | 37 +++++++++++++--------------------- community-mysql-s390-tsc.patch | 6 +++--- community-mysql.spec | 12 +++++++++-- sources | 2 +- 4 files changed, 28 insertions(+), 29 deletions(-) diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 078782f..383847f 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index f5ac0bf2..cd3132de 100644 +index 17ea6443..1d38e3eb 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -114,7 +114,7 @@ IF(UNIX) +@@ -115,7 +115,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,7 +16,7 @@ index f5ac0bf2..cd3132de 100644 CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -318,6 +318,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) +@@ -319,6 +319,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") @@ -24,11 +24,11 @@ index f5ac0bf2..cd3132de 100644 # IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") SET(INSTALL_LIBDIR_RPM "lib64") -diff --git a/mysys_ssl/my_default.cc b/mysys_ssl/my_default.cc -index 1317e362..cfa0feb7 100644 ---- a/mysys_ssl/my_default.cc -+++ b/mysys_ssl/my_default.cc -@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { +diff --git a/mysys/my_default.cc b/mysys/my_default.cc +index d7f5016e..f8fe5d90 100644 +--- a/mysys/my_default.cc ++++ b/mysys/my_default.cc +@@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else @@ -45,20 +45,11 @@ index 1317e362..cfa0feb7 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c1202103..06a055b1 100644 +index bed32565..ca08ee7c 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -315,7 +315,7 @@ ENDIF(UNIX) - - SET(bindir ${prefix}/${INSTALL_BINDIR}) - SET(sbindir ${prefix}/${INSTALL_SBINDIR}) --SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) -+SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) - SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) - IF(INSTALL_LAYOUT MATCHES "STANDALONE") - SET(localstatedir ${prefix}/data) -@@ -324,9 +324,9 @@ ELSE() - ENDIF() +@@ -324,9 +324,9 @@ IF(UNIX) + ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") -SET(sysconfdir ${prefix}) @@ -67,13 +58,13 @@ index c1202103..06a055b1 100644 -SET(libexecdir ${prefix}/${INSTALL_SBINDIR}) +SET(libexecdir ${prefix}/${INSTALL_LIBEXECDIR}) SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) - SET(pkgdatadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) + SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh -index 5ad36e7b..5dd032f2 100644 +index 8cd63ecc..21ad556c 100644 --- a/scripts/mysqld_multi.sh +++ b/scripts/mysqld_multi.sh -@@ -572,9 +572,7 @@ sub list_defaults_files +@@ -586,9 +586,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 $_ } diff --git a/community-mysql-s390-tsc.patch b/community-mysql-s390-tsc.patch index 7e5eee3..3fca0ac 100644 --- a/community-mysql-s390-tsc.patch +++ b/community-mysql-s390-tsc.patch @@ -2,7 +2,7 @@ Support s390/s390x in performance schema's cycle-counting functions. Filed upstream at http://bugs.mysql.com/bug.php?id=59953 diff --git a/include/my_rdtsc.h b/include/my_rdtsc.h -index 65f7df1..a28f470 100644 +index 65f7df19..a28f470c 100644 --- a/include/my_rdtsc.h +++ b/include/my_rdtsc.h @@ -128,5 +128,6 @@ void my_timer_init(MY_TIMER_INFO *mti); @@ -13,11 +13,11 @@ index 65f7df1..a28f470 100644 #endif diff --git a/mysys/my_rdtsc.cc b/mysys/my_rdtsc.cc -index ec8e855..c3408b1 100644 +index 54d19691..f18c182f 100644 --- a/mysys/my_rdtsc.cc +++ b/mysys/my_rdtsc.cc @@ -204,6 +204,13 @@ ulonglong my_timer_cycles(void) { - __asm __volatile__("mrs %[rt],cntvct_el0" : [rt] "=r"(result)); + __asm __volatile__("mrs %[rt],cntvct_el0" : [ rt ] "=r"(result)); return result; } +#elif defined(__GNUC__) && defined(__s390__) diff --git a/community-mysql.spec b/community-mysql.spec index 2f1eb00..183209e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.16 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.17 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -123,6 +123,7 @@ BuildRequires: bison %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif +BuildRequires: openssl BuildRequires: openssl-devel %if 0%{?fedora} || 0%{?rhel} > 7 BuildRequires: perl-interpreter @@ -308,6 +309,7 @@ Requires: %{name}-common%{?_isa} = %{sameevr} Requires: %{name}-server%{?_isa} = %{sameevr} Requires: gzip Requires: lz4 +Requires: openssl Requires: perl(Digest::file) Requires: perl(Digest::MD5) Requires: perl(Env) @@ -364,6 +366,9 @@ add_test () { touch %{skiplist} +add_test innodb.redo_log_archive_04 failed since 8.0.17 +add_test clone.remote_dml_no_binlog failed since 8.0.17 + # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 add_test gis.st_latitude @@ -784,6 +789,9 @@ fi %endif %changelog +* Wed Jul 31 2019 Lars Tangvald - 8.0.17-1 +- Update to MySQL 8.0.17 + * Wed Jul 24 2019 Fedora Release Engineering - 8.0.16-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild diff --git a/sources b/sources index b24db50..320900b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516 +SHA512 (mysql-boost-8.0.17.tar.gz) = a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d From f374a62f5fbd27ea0755c03ab420b00a0c8e0a1f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 19 Aug 2019 12:29:12 +0200 Subject: [PATCH 232/274] Use RELRO hardening on all binaries --- community-mysql.spec | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 183209e..a5f11b7 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.17 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -386,6 +386,8 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build +%{set_build_flags} + # fail quickly and obviously if user tries to build as root %if %runselftest if [ x"$(id -u)" = "x0" ]; then @@ -445,10 +447,13 @@ cmake .. \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -%{?with_debug: -DWITH_DEBUG=1}\ -%{?with_debug: -DMYSQL_MAINTAINER_MODE=0}\ + -DCMAKE_EXE_LINKER_FLAGS="-pie %{build_ldflags}" \ +%{?with_debug: -DWITH_DEBUG=1} \ +%{?with_debug: -DMYSQL_MAINTAINER_MODE=0} \ -DTMPDIR=/var/tmp \ - -DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now" + -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ + -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ + -DCMAKE_CXX_LINK_FLAGS"%{build_ldflags}" cmake .. -LAH @@ -789,6 +794,9 @@ fi %endif %changelog +* Mon Aug 19 2019 Michal Schorm - 8.0.17-2 +- Use RELRO hardening on all binaries + * Wed Jul 31 2019 Lars Tangvald - 8.0.17-1 - Update to MySQL 8.0.17 From 1b305ccda0e8c7d9064b8a02697c2354ee92abd5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 26 Aug 2019 15:25:05 +0200 Subject: [PATCH 233/274] Add one test failing only on F30 on aarch64 --- community-mysql.spec | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index a5f11b7..434e4ee 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -378,6 +378,10 @@ add_test perfschema.func_file_io missing hw on arm32 add_test perfschema.func_mutex missing hw on arm32 add_test perfschema.global_read_lock missing hw on arm32 add_test perfschema.setup_objects missing hw on arm32 +# Failing in ~90% of times only on F30 +%if 0%{?fedora} == 30 +add_test innodb.create_tablespace +%endif %endif popd From 9be4f7f6c4cfd01a2436178985a1f000ad641a54 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Mon, 14 Oct 2019 11:04:55 +0200 Subject: [PATCH 234/274] Update to MySQL 8.0.18 --- community-mysql-arm32-timer.patch | 10 ++++++---- community-mysql-paths.patch | 16 ++++++++-------- community-mysql-rpath.patch | 13 +++++++------ community-mysql-scripts.patch | 11 ++++++----- community-mysql-sharedir.patch | 8 ++++---- community-mysql.spec | 7 +++++-- 6 files changed, 36 insertions(+), 29 deletions(-) diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 4e5302c..44fc048 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,6 +1,8 @@ ---- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100 -+++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100 -@@ -311,6 +311,11 @@ +diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql +index c62deb3d..3ae57613 100644 +--- a/mysql-test/include/mtr_warnings.sql ++++ b/mysql-test/include/mtr_warnings.sql +@@ -265,6 +265,11 @@ INSERT INTO global_suppressions VALUES */ ("The SSL library function CRYPTO_set_mem_functions failed"), @@ -9,6 +11,6 @@ + */ + ("The CYCLE timer is not available. WAIT events in the performance_schema will not be timed."), + - ("THE_LAST_SUPPRESSION")|| + ("THE_LAST_SUPPRESSION"); diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 383847f..8b1d9a7 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index 17ea6443..1d38e3eb 100644 +index 94d9ecf5..69058c22 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -115,7 +115,7 @@ IF(UNIX) +@@ -109,7 +109,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,16 +16,16 @@ index 17ea6443..1d38e3eb 100644 CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -319,6 +319,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) +@@ -271,6 +271,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") +SET(INSTALL_SYSCONFDIR_RPM "/etc") # - IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64") - SET(INSTALL_LIBDIR_RPM "lib64") + IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) + SET(INSTALL_LIBDIR_RPM "lib64/mysql") diff --git a/mysys/my_default.cc b/mysys/my_default.cc -index d7f5016e..f8fe5d90 100644 +index a8f6132a..3b448ef3 100644 --- a/mysys/my_default.cc +++ b/mysys/my_default.cc @@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { @@ -45,10 +45,10 @@ index d7f5016e..f8fe5d90 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index bed32565..ca08ee7c 100644 +index c64bfb52..1b2a76cf 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -324,9 +324,9 @@ IF(UNIX) +@@ -288,9 +288,9 @@ IF(UNIX) ENDIF(UNIX) SET(prefix "${CMAKE_INSTALL_PREFIX}") diff --git a/community-mysql-rpath.patch b/community-mysql-rpath.patch index 00cafa6..16d5bc4 100644 --- a/community-mysql-rpath.patch +++ b/community-mysql-rpath.patch @@ -4,12 +4,13 @@ secure-execution mode in http://man7.org/linux/man-pages/man8/ld.so.8.html). Related: #1628814 -diff -up mysql-8.0.12/sql/CMakeLists.txt.patchrpath mysql-8.0.12/sql/CMakeLists.txt ---- mysql-8.0.12/sql/CMakeLists.txt.patchrpath 2018-09-14 13:59:02.884021458 +0200 -+++ mysql-8.0.12/sql/CMakeLists.txt 2018-09-14 14:01:10.897983621 +0200 -@@ -711,6 +711,8 @@ ENDIF() - MYSQL_ADD_EXECUTABLE(mysqld - ${MYSQLD_SOURCE} DESTINATION ${INSTALL_SBINDIR} COMPONENT Server) +diff --git a/sql/CMakeLists.txt b/sql/CMakeLists.txt +index 3f179a7a..209b3eb2 100644 +--- a/sql/CMakeLists.txt ++++ b/sql/CMakeLists.txt +@@ -918,6 +918,8 @@ IF(UNIX_INSTALL_RPATH_ORIGIN_PRIV_LIBDIR) + ADD_INSTALL_RPATH_FOR_PROTOBUF(mysqld) + ENDIF() +SET_TARGET_PROPERTIES(mysqld PROPERTIES INSTALL_RPATH "${RPATH_LIBDIR}") + diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 122c05a..0211d30 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,8 +1,9 @@ -diff -rup mysql-5.7.8.orig/scripts/CMakeLists.txt mysql-5.7.8/scripts/CMakeLists.txt ---- mysql-5.7.8.orig/scripts/CMakeLists.txt 2015-07-20 14:25:08.000000000 +0200 -+++ mysql-5.7.8/scripts/CMakeLists.txt 2015-09-24 10:47:01.733914088 +0200 -@@ -483,6 +483,32 @@ ELSE() - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ +diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt +index c64bfb52..4da9e699 100644 +--- a/scripts/CMakeLists.txt ++++ b/scripts/CMakeLists.txt +@@ -523,6 +523,32 @@ ELSE() + PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() + diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch index 72fe369..fa0dc72 100644 --- a/community-mysql-sharedir.patch +++ b/community-mysql-sharedir.patch @@ -1,8 +1,8 @@ diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt -index 1eb22c37..e200d4eb 100644 +index f77bd022..a3a3bd9f 100644 --- a/mysql-test/CMakeLists.txt +++ b/mysql-test/CMakeLists.txt -@@ -56,6 +56,9 @@ INSTALL( +@@ -57,6 +57,9 @@ IF(INSTALL_MYSQLTESTDIR) ENDIF() @@ -13,10 +13,10 @@ index 1eb22c37..e200d4eb 100644 # Enable running mtr from build directory FIND_PROGRAM(PERL_EXECUTABLE perl diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl -index 05a504da..9cdc2cda 100755 +index b82611fd..7fc5987e 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl -@@ -1626,7 +1626,7 @@ sub command_line_setup { +@@ -1656,7 +1656,7 @@ sub command_line_setup { my $path_share = $path_language; @share_locations = diff --git a/community-mysql.spec b/community-mysql.spec index 434e4ee..43ab5ea 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.17 -Release: 2%{?with_debug:.debug}%{?dist} +Version: 8.0.18 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -798,6 +798,9 @@ fi %endif %changelog +* Mon Oct 14 2019 Lars Tangvald - 8.0.18-1 +- Update to MySQL 8.0.18 + * Mon Aug 19 2019 Michal Schorm - 8.0.17-2 - Use RELRO hardening on all binaries From 525141d79d0aa1d9b1f7e392070b854e06de4726 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 1 Nov 2019 12:36:05 +0100 Subject: [PATCH 235/274] Add missing dependency Disable linking with GOLD on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 --- community-mysql.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 43ab5ea..0573b83 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -120,6 +120,7 @@ BuildRequires: lz4 BuildRequires: lz4-devel BuildRequires: mecab-devel BuildRequires: bison +BuildRequires: libzstd-devel %ifnarch aarch64 %{arm} s390 s390x BuildRequires: numactl-devel %endif @@ -442,7 +443,7 @@ cmake .. \ %ifnarch aarch64 %{arm} s390 s390x -DWITH_NUMA=ON \ %endif -%ifarch s390 s390x +%ifarch s390 s390x armv7hl -DUSE_LD_GOLD=OFF \ %endif -DWITH_ROUTER=OFF \ @@ -459,6 +460,8 @@ cmake .. \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ -DCMAKE_CXX_LINK_FLAGS"%{build_ldflags}" +# Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 + cmake .. -LAH make %{?_smp_mflags} VERBOSE=1 diff --git a/sources b/sources index 320900b..555f703 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.17.tar.gz) = a278ee263670cb1f79d67c4b87c4b88632569c3b20a4297a6e77d550155db20902f22992ea851cf59ea523bb97d5e08707e3457f71a678e9f1ac2fa4ca5b7a2d +SHA512 (mysql-boost-8.0.18.tar.gz) = 180091ad3e74e2afa28ecb914850e6b4e8c92b8981f32b161f53381b92120d87dbd2c2fc073feb2543bb71702bac7368e9fb992821cfd3e3ca888019423b89f5 From 6915bb00b40bb2cb385a897419ec897ea0cdbd47 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 1 Nov 2019 15:51:06 +0000 Subject: [PATCH 236/274] Rebuild for ICU 65 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0573b83..de24ea9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -801,6 +801,9 @@ fi %endif %changelog +* Fri Nov 01 2019 Pete Walter - 8.0.18-2 +- Rebuild for ICU 65 + * Mon Oct 14 2019 Lars Tangvald - 8.0.18-1 - Update to MySQL 8.0.18 From c722da287ed1b48f41d93da928fd42a0973bddd1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 11 Nov 2019 16:33:15 +0100 Subject: [PATCH 237/274] Let the devel package require the libzstd-devel --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index de24ea9..cf3c638 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -294,6 +294,7 @@ Summary: Files for development of MySQL applications %{?with_clibrary:Requires: %{name}-libs%{?_isa} = %{sameevr}} Requires: openssl-devel Requires: zlib-devel +Requires: libzstd-devel %{?with_conflicts:Conflicts: mariadb-devel} %description devel @@ -801,6 +802,9 @@ fi %endif %changelog +* Mon Nov 11 2019 Michal Schorm - 8.0.18-3 +- Let the devel package require the libzstd-devel + * Fri Nov 01 2019 Pete Walter - 8.0.18-2 - Rebuild for ICU 65 From ff2b8dc6b71211f5ae0ddaeeaecb9a2a083527f1 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Fri, 15 Nov 2019 13:37:04 +0100 Subject: [PATCH 238/274] Typo fixup --- community-mysql.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index cf3c638..ba5756c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -459,7 +459,7 @@ cmake .. \ -DTMPDIR=/var/tmp \ -DWITH_MYSQLD_LDFLAGS="%{build_ldflags}" \ -DCMAKE_C_LINK_FLAGS="%{build_ldflags}" \ - -DCMAKE_CXX_LINK_FLAGS"%{build_ldflags}" + -DCMAKE_CXX_LINK_FLAGS="%{build_ldflags}" # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 @@ -802,6 +802,9 @@ fi %endif %changelog +* Fri Nov 15 2019 Michal Schorm - 8.0.18-4 +- Typo fixup + * Mon Nov 11 2019 Michal Schorm - 8.0.18-3 - Let the devel package require the libzstd-devel From 994efdc87f49774ba45d2b3ab272e43863d3d51c Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Wed, 18 Dec 2019 20:21:22 -0700 Subject: [PATCH 239/274] Rebuild for protobuf 3.11 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index ba5756c..5909f7a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -802,6 +802,9 @@ fi %endif %changelog +* Thu Dec 19 2019 Orion Poplawski - 8.0.18-5 +- Rebuild for protobuf 3.11 + * Fri Nov 15 2019 Michal Schorm - 8.0.18-4 - Typo fixup From 420fa92a6ff86d72f822a02eacedb806d5d1af8f Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Thu, 19 Dec 2019 07:54:02 +0100 Subject: [PATCH 240/274] Include patch to build against protobuf 3.11 --- community-mysql-protobuf-3-11.patch | 26 ++++++++++++++++++++++++++ community-mysql.spec | 9 ++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 community-mysql-protobuf-3-11.patch diff --git a/community-mysql-protobuf-3-11.patch b/community-mysql-protobuf-3-11.patch new file mode 100644 index 0000000..ca7abce --- /dev/null +++ b/community-mysql-protobuf-3-11.patch @@ -0,0 +1,26 @@ +Problem report: https://bugs.mysql.com/bug.php?id=97246 +Patch source: https://github.com/Homebrew/homebrew-core/pull/45383/commits/4b4dfa1c153a05f1fd4b83c2df741f2dc5f43237 + + +diff -urN a/plugin/x/client/mysqlxclient/xmessage.h b/plugin/x/client/mysqlxclient/xmessage.h +--- a/plugin/x/client/mysqlxclient/xmessage.h 2019-09-20 18:30:51.000000000 +1000 ++++ b/plugin/x/client/mysqlxclient/xmessage.h 2019-10-16 09:12:15.000000000 +1000 +@@ -36,7 +36,6 @@ + #include + #include + #include +-#include + + #ifdef USE_MYSQLX_FULL_PROTO + +diff -urN a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h +--- a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-09-20 18:30:51.000000000 +1000 ++++ b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-10-16 09:11:27.000000000 +1000 +@@ -38,7 +38,6 @@ + #include + #include + #include +-#include + + #ifdef USE_MYSQLX_FULL_PROTO + #include "plugin/x/generated/protobuf/mysqlx.pb.h" diff --git a/community-mysql.spec b/community-mysql.spec index 5909f7a..a54429d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.18 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -106,6 +106,9 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch +# Patch to build against protobuf-3.11 +Patch76: %{pkgnamepatch}-protobuf-3-11.patch + # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch Patch125: boost-1.57.0-mpl-print.patch @@ -352,6 +355,7 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 +%patch76 -p1 # Patch Boost pushd boost/boost_1_??_0 @@ -802,6 +806,9 @@ fi %endif %changelog +* Thu Dec 19 2019 Adrian Reber - 8.0.18-6 +- Include patch to build against protobuf 3.11 + * Thu Dec 19 2019 Orion Poplawski - 8.0.18-5 - Rebuild for protobuf 3.11 From 36e47c3b3debb018e8b6586dea1e52b29dfc8447 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 2 Jan 2020 19:17:25 +0100 Subject: [PATCH 241/274] Update to MySQL 8.0.19 --- community-mysql-2020.patch | 103 ++++++++++++++++++++++++++++ community-mysql-arm32-timer.patch | 6 +- community-mysql-paths.patch | 20 +++--- community-mysql-protobuf-3-11.patch | 26 ------- community-mysql-scripts.patch | 6 +- community-mysql.spec | 28 +++++--- sources | 2 +- 7 files changed, 137 insertions(+), 54 deletions(-) create mode 100644 community-mysql-2020.patch delete mode 100644 community-mysql-protobuf-3-11.patch diff --git a/community-mysql-2020.patch b/community-mysql-2020.patch new file mode 100644 index 0000000..96f3819 --- /dev/null +++ b/community-mysql-2020.patch @@ -0,0 +1,103 @@ +diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result +index 56821679efe..b05c76a7586 100644 +--- a/mysql-test/r/events_bugs.result ++++ b/mysql-test/r/events_bugs.result +@@ -42,11 +42,11 @@ Warnings: + Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation. + show events; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +-create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; + ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1 +-create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; + ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ends 10000101000000 do drop table t' at line 1 +-create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; + ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 ends 10000101000000 do drop table t' at line 1 + create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; + ERROR HY000: Incorrect STARTS value: '10000101000000' +@@ -411,16 +411,16 @@ SHOW EVENTS; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation + events_test e1 root@localhost +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci + SET TIME_ZONE= '-03:00'; +-ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' ++ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' + ON COMPLETION PRESERVE DISABLE; + SHOW EVENTS; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +-events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci ++events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci + SET TIME_ZONE= '+04:00'; + ALTER EVENT e1 DO SELECT 2; + SHOW EVENTS; + Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation +-events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci ++events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci + DROP EVENT e1; + SET TIME_ZONE='+05:00'; + CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO +@@ -647,7 +647,7 @@ SET GLOBAL READ_ONLY = 1; + # Connection: u1_con (mysqltest_u1@localhost/events_test). + # + +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement + + ALTER EVENT e1 COMMENT 'comment'; +@@ -660,7 +660,7 @@ ERROR HY000: The MySQL server is running with the --read-only option so it canno + # Connection: root_con (root@localhost/events_test). + # + +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + + ALTER EVENT e1 COMMENT 'comment'; + +diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test +index b35e8627852..8a4de2d4d55 100644 +--- a/mysql-test/t/events_bugs.test ++++ b/mysql-test/t/events_bugs.test +@@ -216,11 +216,11 @@ create event e_55 on schedule at 20000101000000 do drop table t; + show events; + + --error ER_PARSE_ERROR +-create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; + --error ER_PARSE_ERROR +-create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; + --error ER_PARSE_ERROR +-create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; ++create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; + --error ER_WRONG_VALUE + create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; + +@@ -722,7 +722,7 @@ SHOW EVENTS; + + # This will update event time zone. + SET TIME_ZONE= '-03:00'; +-ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' ++ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' + ON COMPLETION PRESERVE DISABLE; + SHOW EVENTS; + +@@ -1033,7 +1033,7 @@ SET GLOBAL READ_ONLY = 1; + --echo + + --error ER_OPTION_PREVENTS_STATEMENT +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + + --echo + +@@ -1057,7 +1057,7 @@ DROP EVENT e1; + + --echo + +-CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; ++CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; + + --echo + diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index 44fc048..b5a4886 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,10 @@ diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index c62deb3d..3ae57613 100644 +index 60bfdb0b..7e02101b 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql -@@ -265,6 +265,11 @@ INSERT INTO global_suppressions VALUES +@@ -273,6 +273,11 @@ INSERT INTO global_suppressions VALUES */ - ("The SSL library function CRYPTO_set_mem_functions failed"), + ("The transaction owned GTID is already in the gtid_executed table"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-paths.patch b/community-mysql-paths.patch index 8b1d9a7..d5978b6 100644 --- a/community-mysql-paths.patch +++ b/community-mysql-paths.patch @@ -4,10 +4,10 @@ Software Collections. Removing these hard-coded paths should fix it. Upstream report: https://mariadb.atlassian.net/browse/MDEV-6485 diff --git a/cmake/install_layout.cmake b/cmake/install_layout.cmake -index 94d9ecf5..69058c22 100644 +index 9f7945d8..6734cdfd 100644 --- a/cmake/install_layout.cmake +++ b/cmake/install_layout.cmake -@@ -109,7 +109,7 @@ IF(UNIX) +@@ -105,7 +105,7 @@ IF(UNIX) " Choose between ${VALID_INSTALL_LAYOUTS}" ) ENDIF() @@ -16,7 +16,7 @@ index 94d9ecf5..69058c22 100644 CACHE PATH "config directory (for my.cnf)") MARK_AS_ADVANCED(SYSCONFDIR) ENDIF() -@@ -271,6 +271,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) +@@ -189,6 +189,7 @@ SET(INSTALL_SECURE_FILE_PRIVDIR_TARGZ ${secure_file_priv_path}) # SET(INSTALL_BINDIR_RPM "bin") SET(INSTALL_SBINDIR_RPM "sbin") @@ -25,10 +25,10 @@ index 94d9ecf5..69058c22 100644 IF(CMAKE_SYSTEM_PROCESSOR IN_LIST KNOWN_64BIT_ARCHITECTURES) SET(INSTALL_LIBDIR_RPM "lib64/mysql") diff --git a/mysys/my_default.cc b/mysys/my_default.cc -index a8f6132a..3b448ef3 100644 +index 290f1666..8403425f 100644 --- a/mysys/my_default.cc +++ b/mysys/my_default.cc -@@ -1565,12 +1565,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { +@@ -1570,12 +1570,12 @@ static const char **init_default_directories(MEM_ROOT *alloc) { #else @@ -45,7 +45,7 @@ index a8f6132a..3b448ef3 100644 #endif diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c64bfb52..1b2a76cf 100644 +index 4149a764..b091d5e2 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -288,9 +288,9 @@ IF(UNIX) @@ -60,10 +60,10 @@ index c64bfb52..1b2a76cf 100644 SET(datadir ${prefix}/${INSTALL_MYSQLSHAREDIR}) SET(libsubdir ${INSTALL_LIBDIR}) SET(pkgincludedir ${prefix}/${INSTALL_INCLUDEDIR}) -diff --git a/scripts/mysqld_multi.sh b/scripts/mysqld_multi.sh -index 8cd63ecc..21ad556c 100644 ---- a/scripts/mysqld_multi.sh -+++ b/scripts/mysqld_multi.sh +diff --git a/scripts/mysqld_multi.pl.in b/scripts/mysqld_multi.pl.in +index 84dd4d7c..50397ddd 100644 +--- a/scripts/mysqld_multi.pl.in ++++ b/scripts/mysqld_multi.pl.in @@ -586,9 +586,7 @@ sub list_defaults_files my %seen; # Don't list the same file more than once diff --git a/community-mysql-protobuf-3-11.patch b/community-mysql-protobuf-3-11.patch deleted file mode 100644 index ca7abce..0000000 --- a/community-mysql-protobuf-3-11.patch +++ /dev/null @@ -1,26 +0,0 @@ -Problem report: https://bugs.mysql.com/bug.php?id=97246 -Patch source: https://github.com/Homebrew/homebrew-core/pull/45383/commits/4b4dfa1c153a05f1fd4b83c2df741f2dc5f43237 - - -diff -urN a/plugin/x/client/mysqlxclient/xmessage.h b/plugin/x/client/mysqlxclient/xmessage.h ---- a/plugin/x/client/mysqlxclient/xmessage.h 2019-09-20 18:30:51.000000000 +1000 -+++ b/plugin/x/client/mysqlxclient/xmessage.h 2019-10-16 09:12:15.000000000 +1000 -@@ -36,7 +36,6 @@ - #include - #include - #include --#include - - #ifdef USE_MYSQLX_FULL_PROTO - -diff -urN a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h ---- a/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-09-20 18:30:51.000000000 +1000 -+++ b/plugin/x/ngs/include/ngs/protocol/protocol_protobuf.h 2019-10-16 09:11:27.000000000 +1000 -@@ -38,7 +38,6 @@ - #include - #include - #include --#include - - #ifdef USE_MYSQLX_FULL_PROTO - #include "plugin/x/generated/protobuf/mysqlx.pb.h" diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 0211d30..7c0a9f0 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,8 +1,8 @@ diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index c64bfb52..4da9e699 100644 +index 8217bb76..4149a764 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt -@@ -523,6 +523,32 @@ ELSE() +@@ -513,4 +513,30 @@ ELSE() PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) ENDIF() @@ -33,5 +33,3 @@ index c64bfb52..4da9e699 100644 + ENDIF() + ENDFOREACH() ENDIF() - - # Install libgcc as mylibgcc.a diff --git a/community-mysql.spec b/community-mysql.spec index a54429d..1bfdbac 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.18 -Release: 6%{?with_debug:.debug}%{?dist} +Version: 8.0.19 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -105,9 +105,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch - -# Patch to build against protobuf-3.11 -Patch76: %{pkgnamepatch}-protobuf-3-11.patch +Patch76: %{pkgnamepatch}-2020.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -374,6 +372,10 @@ touch %{skiplist} add_test innodb.redo_log_archive_04 failed since 8.0.17 add_test clone.remote_dml_no_binlog failed since 8.0.17 +add_test x.message_protobuf_nested due to protobuf 3.11 +add_test x.message_compressed_payload due to protobuf 3.11 +add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 +add_test collations.chinese sporadic since 8.0.19 # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 @@ -384,11 +386,11 @@ add_test perfschema.func_file_io missing hw on arm32 add_test perfschema.func_mutex missing hw on arm32 add_test perfschema.global_read_lock missing hw on arm32 add_test perfschema.setup_objects missing hw on arm32 -# Failing in ~90% of times only on F30 -%if 0%{?fedora} == 30 +# Test added in 8.0.19 +add_test clone.remote_error_basic max_allowed_packet is 0 +# Failing in ~90% of times add_test innodb.create_tablespace %endif -%endif popd @@ -581,7 +583,7 @@ rm -r %{buildroot}%{_datadir}/%{pkg_name}/charsets %endif %if %{without errmsg} -rm %{buildroot}%{_datadir}/%{pkg_name}/errmsg-utf8.txt +rm %{buildroot}%{_datadir}/%{pkg_name}/{messages_to_error_log.txt,messages_to_clients.txt} rm -r %{buildroot}%{_datadir}/%{pkg_name}/{english,bulgarian,czech,danish,dutch,estonian,\ french,german,greek,hungarian,italian,japanese,korean,norwegian,norwegian-ny,\ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} @@ -687,7 +689,8 @@ fi %if %{with errmsg} %files errmsg -%{_datadir}/%{pkg_name}/errmsg-utf8.txt +%{_datadir}/%{pkg_name}/messages_to_error_log.txt +%{_datadir}/%{pkg_name}/messages_to_clients.txt %{_datadir}/%{pkg_name}/english %lang(bg) %{_datadir}/%{pkg_name}/bulgarian %lang(cs) %{_datadir}/%{pkg_name}/czech @@ -802,10 +805,15 @@ fi %{_bindir}/mysqltest %{_bindir}/mysqltest_safe_process %{_bindir}/mysqlxtest +%{_bindir}/mysqld_safe +%{_bindir}/comp_err %attr(-,mysql,mysql) %{_datadir}/mysql-test %endif %changelog +* Thu Jan 02 2020 Lars Tangvald - 8.0.19-1 +- Update to MySQL 8.0.19 + * Thu Dec 19 2019 Adrian Reber - 8.0.18-6 - Include patch to build against protobuf 3.11 diff --git a/sources b/sources index 555f703..5111f6e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.18.tar.gz) = 180091ad3e74e2afa28ecb914850e6b4e8c92b8981f32b161f53381b92120d87dbd2c2fc073feb2543bb71702bac7368e9fb992821cfd3e3ca888019423b89f5 +SHA512 (mysql-boost-8.0.19.tar.gz) = 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 From b8d09ead424cb201f3176397e25aba9d44a6ba4c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 14:35:00 +0000 Subject: [PATCH 242/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 1bfdbac..a32092b 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.19 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -811,6 +811,9 @@ fi %endif %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 8.0.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jan 02 2020 Lars Tangvald - 8.0.19-1 - Update to MySQL 8.0.19 From 1774cb35fa95cb26050b00f4298ccfb4a270faeb Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Sat, 8 Feb 2020 03:29:41 +0100 Subject: [PATCH 243/274] Add failing test --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index a32092b..10538e5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -376,6 +376,7 @@ add_test x.message_protobuf_nested due to protobuf 3.11 add_test x.message_compressed_payload due to protobuf 3.11 add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 add_test collations.chinese sporadic since 8.0.19 +add_test main.events_1 everywhere always since F32 mass rebuild # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 From 4e311feff754cd6640e3f78617a63c23a6a084c5 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 11 Feb 2020 01:10:32 +0100 Subject: [PATCH 244/274] Add failing tests list since F32 mass rebuild --- community-mysql.spec | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index 10538e5..5251b3d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -393,6 +393,28 @@ add_test clone.remote_error_basic max_allowed_packet is 0 add_test innodb.create_tablespace %endif +%ifarch s390x +# Fails since F32 Mass Rebuild +add_test gis.geometry_class_attri_prop +add_test gis.geometry_property_function_issimple +add_test gis.gis_bugs_crashes +add_test gis.spatial_analysis_functions_buffer +add_test gis.spatial_analysis_functions_centroid +add_test gis.spatial_analysis_functions_distance +add_test gis.spatial_operators_intersection +add_test gis.spatial_op_testingfunc_mix +add_test gis.spatial_utility_function_distance_sphere +add_test gis.spatial_utility_function_simplify +add_test innodb.log_encrypt_kill main.with_recursive +add_test innodb.mysqldump_max_recordsize +add_test main.lock_multi_bug38499 +add_test main.window_std_var +add_test main.window_std_var_optimized +add_test main.with_recursive +%endif + + + popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ From 48992864ae73baf45a1a8d89a238545cb3668f65 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 2 Apr 2020 09:51:20 +0200 Subject: [PATCH 245/274] Specify all perl dependencies --- community-mysql.spec | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5251b3d..f58fd0a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.19 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -144,22 +144,43 @@ BuildRequires: multilib-rpm-config # Tests requires time and ps and some perl modules BuildRequires: procps BuildRequires: time +BuildRequires: perl(base) +BuildRequires: perl(Carp) +BuildRequires: perl(Cwd) BuildRequires: perl(Digest::file) BuildRequires: perl(Digest::MD5) +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(if) +BuildRequires: perl(IO::File) +BuildRequires: perl(IO::Handle) +BuildRequires: perl(IO::Select) +BuildRequires: perl(IO::Socket::INET) BuildRequires: perl(IPC::Open3) BuildRequires: perl(JSON) +BuildRequires: perl(lib) BuildRequires: perl(LWP::Simple) BuildRequires: perl(Memoize) +BuildRequires: perl(Net::Ping) +BuildRequires: perl(POSIX) BuildRequires: perl(Socket) +BuildRequires: perl(strict) BuildRequires: perl(Sys::Hostname) BuildRequires: perl(Test::More) BuildRequires: perl(Time::HiRes) +BuildRequires: perl(Time::localtime) +BuildRequires: perl(warnings) BuildRequires: systemd @@ -834,6 +855,9 @@ fi %endif %changelog +* Wed Apr 01 2020 Jitka Plesnikova - 8.0.19-3 +- Specify all perl dependencies + * Tue Jan 28 2020 Fedora Release Engineering - 8.0.19-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild From 7834706bc2b61a61611073010e213870dc32a345 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Wed, 29 Apr 2020 15:02:17 +0200 Subject: [PATCH 246/274] Update to MySQL 8.0.20 --- community-mysql-2020.patch | 103 ------------------------------------- community-mysql.spec | 12 ++--- sources | 2 +- 3 files changed, 6 insertions(+), 111 deletions(-) delete mode 100644 community-mysql-2020.patch diff --git a/community-mysql-2020.patch b/community-mysql-2020.patch deleted file mode 100644 index 96f3819..0000000 --- a/community-mysql-2020.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/mysql-test/r/events_bugs.result b/mysql-test/r/events_bugs.result -index 56821679efe..b05c76a7586 100644 ---- a/mysql-test/r/events_bugs.result -+++ b/mysql-test/r/events_bugs.result -@@ -42,11 +42,11 @@ Warnings: - Note 1588 Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation. - show events; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation --create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; - ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 do drop table t' at line 1 --create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; - ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ends 10000101000000 do drop table t' at line 1 --create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; - ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'starts 10000101000000 ends 10000101000000 do drop table t' at line 1 - create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; - ERROR HY000: Incorrect STARTS value: '10000101000000' -@@ -411,16 +411,16 @@ SHOW EVENTS; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation - events_test e1 root@localhost +02:00 ONE TIME 2000-01-02 00:00:00 NULL NULL NULL NULL DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci - SET TIME_ZONE= '-03:00'; --ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' -+ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' - ON COMPLETION PRESERVE DISABLE; - SHOW EVENTS; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation --events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci -+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci - SET TIME_ZONE= '+04:00'; - ALTER EVENT e1 DO SELECT 2; - SHOW EVENTS; - Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation --events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2030-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci -+events_test e1 root@localhost -03:00 RECURRING NULL 1 DAY 2005-12-31 20:58:59 2038-01-03 00:00:00 DISABLED 1 latin1 latin1_swedish_ci utf8mb4_0900_ai_ci - DROP EVENT e1; - SET TIME_ZONE='+05:00'; - CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY STARTS '2006-01-01 00:00:00' DO -@@ -647,7 +647,7 @@ SET GLOBAL READ_ONLY = 1; - # Connection: u1_con (mysqltest_u1@localhost/events_test). - # - --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement - - ALTER EVENT e1 COMMENT 'comment'; -@@ -660,7 +660,7 @@ ERROR HY000: The MySQL server is running with the --read-only option so it canno - # Connection: root_con (root@localhost/events_test). - # - --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - - ALTER EVENT e1 COMMENT 'comment'; - -diff --git a/mysql-test/t/events_bugs.test b/mysql-test/t/events_bugs.test -index b35e8627852..8a4de2d4d55 100644 ---- a/mysql-test/t/events_bugs.test -+++ b/mysql-test/t/events_bugs.test -@@ -216,11 +216,11 @@ create event e_55 on schedule at 20000101000000 do drop table t; - show events; - - --error ER_PARSE_ERROR --create event e_55 on schedule at 20200101000000 starts 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 do drop table t; - --error ER_PARSE_ERROR --create event e_55 on schedule at 20200101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 ends 10000101000000 do drop table t; - --error ER_PARSE_ERROR --create event e_55 on schedule at 20200101000000 starts 10000101000000 ends 10000101000000 do drop table t; -+create event e_55 on schedule at 20380101000000 starts 10000101000000 ends 10000101000000 do drop table t; - --error ER_WRONG_VALUE - create event e_55 on schedule every 10 hour starts 10000101000000 do drop table t; - -@@ -722,7 +722,7 @@ SHOW EVENTS; - - # This will update event time zone. - SET TIME_ZONE= '-03:00'; --ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2030-01-03 00:00:00' -+ALTER EVENT e1 ON SCHEDULE EVERY 1 DAY ENDS '2038-01-03 00:00:00' - ON COMPLETION PRESERVE DISABLE; - SHOW EVENTS; - -@@ -1033,7 +1033,7 @@ SET GLOBAL READ_ONLY = 1; - --echo - - --error ER_OPTION_PREVENTS_STATEMENT --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - - --echo - -@@ -1057,7 +1057,7 @@ DROP EVENT e1; - - --echo - --CREATE EVENT e1 ON SCHEDULE AT '2020-01-01 00:00:00' DO SET @a = 1; -+CREATE EVENT e1 ON SCHEDULE AT '2038-01-01 00:00:00' DO SET @a = 1; - - --echo - diff --git a/community-mysql.spec b/community-mysql.spec index f58fd0a..edc5585 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.19 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.20 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -105,7 +105,6 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch76: %{pkgnamepatch}-2020.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -374,7 +373,6 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 -%patch76 -p1 # Patch Boost pushd boost/boost_1_??_0 @@ -393,11 +391,8 @@ touch %{skiplist} add_test innodb.redo_log_archive_04 failed since 8.0.17 add_test clone.remote_dml_no_binlog failed since 8.0.17 -add_test x.message_protobuf_nested due to protobuf 3.11 -add_test x.message_compressed_payload due to protobuf 3.11 add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 add_test collations.chinese sporadic since 8.0.19 -add_test main.events_1 everywhere always since F32 mass rebuild # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 @@ -855,6 +850,9 @@ fi %endif %changelog +* Sun Apr 26 2020 Lars Tangvald - 8.0.20-1 +- Update to MySQL 8.0.20 + * Wed Apr 01 2020 Jitka Plesnikova - 8.0.19-3 - Specify all perl dependencies diff --git a/sources b/sources index 5111f6e..34d177d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.19.tar.gz) = 5ffc03f005ab2585694902e926b6cb2b10059b2b030549eccd3949f9c3b2f02626d02529f940dec003f2d69683856fd1c720ff12f89dfbdc48befaf24a9c4d01 +SHA512 (mysql-boost-8.0.20.tar.gz) = 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 From d4054499227c925fd925ab65e20180c9653e9ab3 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Fri, 15 May 2020 13:54:47 +0100 Subject: [PATCH 247/274] Rebuild for ICU 67 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index edc5585..08bb044 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.20 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -850,6 +850,9 @@ fi %endif %changelog +* Fri May 15 2020 Pete Walter - 8.0.20-2 +- Rebuild for ICU 67 + * Sun Apr 26 2020 Lars Tangvald - 8.0.20-1 - Update to MySQL 8.0.20 From 5623b66ddc307874aaad4c79ea516421ca0ad792 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Sun, 21 Jun 2020 19:55:52 +0200 Subject: [PATCH 248/274] Rebuilt for protobuf 3.12 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 08bb044..4e64792 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.20 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -850,6 +850,9 @@ fi %endif %changelog +* Sun Jun 14 2020 Adrian Reber - 8.0.20-3 +- Rebuilt for protobuf 3.12 + * Fri May 15 2020 Pete Walter - 8.0.20-2 - Rebuild for ICU 67 From c816b330c5e8595dd8bbe97e2860d880991a2f67 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Thu, 16 Jul 2020 12:48:57 +0200 Subject: [PATCH 249/274] Update to MySQL 8.0.21 --- community-mysql-arm32-timer.patch | 6 +- community-mysql-certs-expired.patch | 964 ++++++++++++++++++++++++++++ community-mysql.spec | 14 +- sources | 2 +- 4 files changed, 980 insertions(+), 6 deletions(-) create mode 100644 community-mysql-certs-expired.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index b5a4886..c9af92a 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,10 @@ diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index 60bfdb0b..7e02101b 100644 +index 990fe81..c2e1b36 100644 --- a/mysql-test/include/mtr_warnings.sql +++ b/mysql-test/include/mtr_warnings.sql -@@ -273,6 +273,11 @@ INSERT INTO global_suppressions VALUES +@@ -292,6 +292,11 @@ INSERT INTO global_suppressions VALUES */ - ("The transaction owned GTID is already in the gtid_executed table"), + ("Channel mysql_main configured to support TLS"), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-certs-expired.patch b/community-mysql-certs-expired.patch new file mode 100644 index 0000000..5adbb48 --- /dev/null +++ b/community-mysql-certs-expired.patch @@ -0,0 +1,964 @@ +commit 2f61a515fd7998f00fe329a9bf17392ae0c7187d +Author: Harin Vadodaria +Date: Wed Jul 1 12:11:52 2020 +0200 + + Bug#31562947: SSL TESTS ARE FAILING BECAUSE OF AN EXPIRED CERTIFICATE + + Description: Some of the certificates used for testing + CRL support are expired. This caused various + tests to failed. + + Fix: - Added new set of certificates + - Updated read-me for CRL generation + + RB: 24714 + +diff --git a/mysql-test/std_data/crl-ca-cert.pem b/mysql-test/std_data/crl-ca-cert.pem +index 1a40815f6a2..93c96eae026 100644 +--- a/mysql-test/std_data/crl-ca-cert.pem ++++ b/mysql-test/std_data/crl-ca-cert.pem +@@ -2,79 +2,80 @@ Certificate: + Data: + Version: 3 (0x2) + Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1d +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ bf:07:54:de:af:cf:c4:de ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 11:58:53 2019 GMT +- Not After : Jun 30 11:58:53 2022 GMT +- Subject: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Not Before: Jul 1 07:44:35 2020 GMT ++ Not After : Jun 29 07:44:35 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:c9:09:95:54:a0:91:fd:f9:26:2f:ca:c4:ce:4a: +- cc:25:72:44:34:f2:68:7a:4d:91:ab:1a:54:90:50: +- fc:14:8a:f2:5b:83:f3:68:c9:0e:bc:0f:dd:11:2f: +- 25:43:9e:d4:5a:cf:e0:2a:4f:63:d8:1d:de:ef:7d: +- 6b:14:4f:8f:2e:9a:44:b8:4f:41:b3:88:95:71:e2: +- cd:8b:22:96:7c:55:fb:39:1a:6b:18:05:18:2c:95: +- 15:9f:b0:e3:92:76:c5:c6:e3:3f:56:44:2d:fe:a5: +- 61:d7:47:db:84:be:08:19:d6:39:f3:4f:dd:6c:d9: +- ff:e1:c2:ba:78:2b:87:a8:32:02:e2:a9:e7:8a:14: +- bb:c5:7a:a8:33:ff:54:0b:5c:c6:20:cf:2e:e3:ee: +- f5:fe:4c:98:26:a5:fc:1a:4a:3f:62:8f:df:a6:31: +- d2:a0:f4:c8:04:dd:f5:b8:5e:6b:6c:c3:c4:c7:da: +- 80:19:2f:40:e1:df:7d:39:a0:9d:c7:fe:59:db:75: +- f1:5e:2f:da:07:7f:5f:ac:0b:18:eb:0f:61:a5:17: +- b1:9e:cb:d5:56:9a:b4:54:89:93:45:2b:90:7e:ef: +- c3:a2:36:d5:7f:64:aa:a2:79:23:74:8c:02:93:5b: +- da:dd:10:03:01:9e:84:49:4d:8f:32:75:f1:63:57: +- 88:19 ++ 00:c9:08:13:81:df:5a:aa:45:2a:82:1e:73:4f:d6: ++ 2f:6b:7a:78:41:a7:fb:ea:02:5c:30:15:95:6a:a4: ++ 60:6b:08:4c:7d:46:4f:1a:7c:14:67:c6:19:e0:bf: ++ c9:12:c3:96:7f:71:12:79:ba:a1:d2:51:1b:fb:f1: ++ 0f:43:9d:22:6d:7f:46:a7:94:0c:51:c2:25:ad:36: ++ c8:1c:59:45:91:e1:20:4d:5e:31:b1:33:b1:4b:2b: ++ a0:62:fb:8a:c6:ee:7e:84:77:d2:aa:23:f8:31:74: ++ d5:94:60:72:88:a7:3a:ec:f3:d8:80:28:36:c1:5a: ++ 7f:58:be:8c:d2:eb:9d:fb:22:de:ec:2c:d3:41:81: ++ b2:e4:91:e4:da:12:b2:84:0e:8f:f7:b0:1e:36:07: ++ 88:87:8e:1d:63:ad:1b:a5:31:39:d2:02:10:e0:97: ++ 21:3f:7e:e9:f1:a2:e8:c3:aa:ad:e3:bd:05:62:e1: ++ a2:8d:ed:d5:cd:d7:66:8a:2b:15:dd:e1:91:e2:75: ++ 18:c4:50:62:fb:a1:f9:96:93:af:84:78:f7:69:b6: ++ 7f:82:f7:c8:97:13:10:46:7b:de:a2:a9:c9:71:78: ++ f1:8e:a1:78:b5:e5:b7:dd:69:4d:8c:1b:ae:34:0e: ++ 5f:94:26:8e:81:b3:23:6e:1f:be:de:e0:e0:41:dc: ++ 71:49 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Subject Key Identifier: +- A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 ++ 43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 + X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 ++ keyid:43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 + +- X509v3 Basic Constraints: critical ++ X509v3 Basic Constraints: + CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 53:ce:08:79:96:94:22:9b:1f:8e:2f:3c:ad:7b:1f:0e:45:7e: +- 65:c1:c2:7f:46:f1:73:be:9c:e4:1b:2c:13:bd:bf:05:95:2b: +- 3c:6e:70:62:b2:14:1e:a6:60:e3:a7:b7:40:22:97:db:74:d1: +- fc:47:27:ba:de:89:50:7e:e1:3b:f5:3e:95:aa:01:e8:8a:e6: +- f9:49:48:97:d2:91:a0:1f:9d:82:b5:35:16:58:01:d1:82:1d: +- b4:dc:68:b9:1b:84:fb:e3:ec:06:a6:55:69:e9:84:69:7d:34: +- ba:dd:dd:57:15:1a:9e:d8:f4:c7:44:98:07:35:66:ec:a6:1e: +- 91:b8:a4:b2:9b:85:52:e8:98:e6:e8:28:8c:d4:1e:8e:45:50: +- 58:c9:68:fd:b4:4b:4f:b7:58:9f:45:7b:b1:12:ae:7d:70:0d: +- 4b:42:7e:46:d0:5a:d5:21:9f:f1:99:b6:21:75:34:7b:2a:d8: +- 45:2e:f9:4d:fa:b4:72:a8:9e:22:e6:66:4b:81:1d:8e:b2:54: +- f3:0f:02:17:68:7f:79:ca:df:a7:5d:17:70:50:bf:47:df:5a: +- 6a:e1:7f:af:ab:ca:54:86:ad:d8:35:c5:b8:f7:9d:72:0e:db: +- dc:0c:c3:08:2d:d1:9a:18:5c:c3:c1:64:7a:f3:9a:5a:6d:69: +- 12:e1:fd:c2 ++ 16:b8:f3:2a:4a:f7:82:7b:99:cb:40:20:a1:76:7a:2b:19:c9: ++ 4f:4f:90:b3:e4:7c:6e:42:28:c8:47:4b:37:12:ab:fa:64:ec: ++ d6:50:f8:2f:bd:61:cd:d6:09:96:d3:84:b1:e6:60:ae:99:ae: ++ 4a:1a:b1:34:a6:ee:b7:3b:1f:6f:cc:94:39:26:e4:9d:d2:02: ++ d9:75:ce:e7:dd:e9:3a:b2:c4:84:1a:75:0e:64:ce:32:7f:68: ++ 5b:81:b7:5e:18:bd:ac:56:69:1c:1a:a0:a1:61:85:f2:11:78: ++ 50:42:4e:e8:b8:67:8a:50:85:09:75:67:d9:09:e1:2a:61:64: ++ 24:1a:52:79:12:5c:d1:a5:53:5f:70:63:2b:30:fe:4e:e5:c6: ++ 3a:7c:f3:36:3e:7b:ab:6b:57:04:12:53:7e:dd:18:63:bf:25: ++ ae:b0:14:f8:93:bb:0a:a6:d4:7b:77:60:58:52:ee:9e:76:9c: ++ 63:ef:84:40:fd:5a:be:54:74:d7:b8:4a:85:09:a0:13:0e:75: ++ 75:e6:2c:73:1b:e3:94:ff:ad:73:0b:c6:e3:b0:68:56:ce:ff: ++ 8d:75:f4:9d:14:5c:05:a0:8d:ad:ab:96:aa:4f:58:cb:79:cf: ++ 5b:85:84:e7:4a:66:54:09:fd:da:c2:3a:3b:ee:3c:3c:0a:66: ++ 36:bc:a6:f0 + -----BEGIN CERTIFICATE----- +-MIIDpzCCAo+gAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR0wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMTU4NTNaFw0yMjA2MzAxMTU4NTNaMGMxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTEPMA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVN +-eVNRTDEmMCQGA1UEAwwdTXlTUUwgQ1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwggEi +-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJCZVUoJH9+SYvysTOSswlckQ0 +-8mh6TZGrGlSQUPwUivJbg/NoyQ68D90RLyVDntRaz+AqT2PYHd7vfWsUT48umkS4 +-T0GziJVx4s2LIpZ8Vfs5GmsYBRgslRWfsOOSdsXG4z9WRC3+pWHXR9uEvggZ1jnz +-T91s2f/hwrp4K4eoMgLiqeeKFLvFeqgz/1QLXMYgzy7j7vX+TJgmpfwaSj9ij9+m +-MdKg9MgE3fW4Xmtsw8TH2oAZL0Dh3305oJ3H/lnbdfFeL9oHf1+sCxjrD2GlF7Ge +-y9VWmrRUiZNFK5B+78OiNtV/ZKqieSN0jAKTW9rdEAMBnoRJTY8ydfFjV4gZAgMB +-AAGjUzBRMB0GA1UdDgQWBBSnLspTBVIGEr3t/8+4ujDneh+WRjAfBgNVHSMEGDAW +-gBSnLspTBVIGEr3t/8+4ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +-DQEBCwUAA4IBAQBTzgh5lpQimx+OLzytex8ORX5lwcJ/RvFzvpzkGywTvb8FlSs8 +-bnBishQepmDjp7dAIpfbdNH8Rye63olQfuE79T6VqgHoiub5SUiX0pGgH52CtTUW +-WAHRgh203Gi5G4T74+wGplVp6YRpfTS63d1XFRqe2PTHRJgHNWbsph6RuKSym4VS +-6Jjm6CiM1B6ORVBYyWj9tEtPt1ifRXuxEq59cA1LQn5G0FrVIZ/xmbYhdTR7KthF +-LvlN+rRyqJ4i5mZLgR2OslTzDwIXaH95yt+nXRdwUL9H31pq4X+vq8pUhq3YNcW4 +-951yDtvcDMMILdGaGFzDwWR685pabWkS4f3C ++MIIDzzCCAregAwIBAgIJAL8HVN6vz8TeMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV ++BAYTAklOMRIwEAYDVQQIDAlLYXJuYXRha2ExEjAQBgNVBAcMCUJlbmdhbHVydTEP ++MA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEmMCQGA1UEAwwdTXlTUUwg ++Q1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwHhcNMjAwNzAxMDc0NDM1WhcNMzAwNjI5 ++MDc0NDM1WjB+MQswCQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYD ++VQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwx ++JjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyQgTgd9aqkUqgh5zT9Yva3p4Qaf76gJc ++MBWVaqRgawhMfUZPGnwUZ8YZ4L/JEsOWf3ESebqh0lEb+/EPQ50ibX9Gp5QMUcIl ++rTbIHFlFkeEgTV4xsTOxSyugYvuKxu5+hHfSqiP4MXTVlGByiKc67PPYgCg2wVp/ ++WL6M0uud+yLe7CzTQYGy5JHk2hKyhA6P97AeNgeIh44dY60bpTE50gIQ4JchP37p ++8aLow6qt470FYuGije3VzddmiisV3eGR4nUYxFBi+6H5lpOvhHj3abZ/gvfIlxMQ ++RnveoqnJcXjxjqF4teW33WlNjBuuNA5flCaOgbMjbh++3uDgQdxxSQIDAQABo1Aw ++TjAdBgNVHQ4EFgQUQ6s/TdPrNz09Kv69TsKK3cnlsbEwHwYDVR0jBBgwFoAUQ6s/ ++TdPrNz09Kv69TsKK3cnlsbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC ++AQEAFrjzKkr3gnuZy0AgoXZ6KxnJT0+Qs+R8bkIoyEdLNxKr+mTs1lD4L71hzdYJ ++ltOEseZgrpmuShqxNKbutzsfb8yUOSbkndIC2XXO593pOrLEhBp1DmTOMn9oW4G3 ++Xhi9rFZpHBqgoWGF8hF4UEJO6LhnilCFCXVn2QnhKmFkJBpSeRJc0aVTX3BjKzD+ ++TuXGOnzzNj57q2tXBBJTft0YY78lrrAU+JO7CqbUe3dgWFLunnacY++EQP1avlR0 ++17hKhQmgEw51deYscxvjlP+tcwvG47BoVs7/jXX0nRRcBaCNrauWqk9Yy3nPW4WE ++50pmVAn92sI6O+48PApmNrym8A== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-certificate-readme.txt b/mysql-test/std_data/crl-certificate-readme.txt +index 6979b33e1b7..7e398eed88f 100644 +--- a/mysql-test/std_data/crl-certificate-readme.txt ++++ b/mysql-test/std_data/crl-certificate-readme.txt +@@ -1,6 +1,9 @@ + These are the instructions on how to generate test files for the CRL tests + using openSSL. + ++If you have root access on the system ++===================================== ++ + 1. Make sure you have the right validity periods in CA.pl and openssl.cnf + 2. Create a new certification authority : CA.pl -newca + 3. Copy demoCA/cacert.pem to crl-ca-cert.pem +@@ -21,11 +24,77 @@ using openSSL. + key while copying it : + openssl rsa -in newkey.pem -out crl-client-key-revoked.pem + 16. Revoke the crl-client-invalid-cert.pem : +- openssl ca -revoke crl-client-key-revoked.pem ++ openssl ca -revoke crl-client-invalid-cert.pem + 17. Generate a CRL file : + openssl ca -gencrl -crldays=3650 -out crl-client-revoked.crl + 18. Clean up all the files in the crldir directory +-19. Copy the CA certificate into it : +- cp crl-ca-cert.pem `openssl x509 -in crl-ca-cert.pem -noout -hash`.0 +-20. Copy the CRL file into it : +- cp crl-client-revoked.crl `openssl crl -in crl-ca-cert.pem -noout -hash`.r0 ++19. Copy the CRL file into it : ++ cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.crl -noout -hash`.r0 ++ ++ ++If you are using your own CA ++============================ ++ ++Prepare directory ++----------------- ++ ++1. mkdir new_crlcerts && cd new_crlcerts ++2. mkdir crldir ++3. mkdir private ++ ++Generate CA and 3 set of certificates ++------------------------------------- ++ ++4. Generate CA ++openssl genrsa 2048 > crl-ca-key.pem ++openssl req -new -x509 -nodes -days 3650 -key crl-ca-key.pem -out crl-ca-cert.pem ++ ++5. Generate Server certificate ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-server-key.pem -out crl-server-req.pem ++openssl rsa -in crl-server-key.pem -out crl-server-key.pem ++openssl x509 -req -in crl-server-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 01 -out crl-server-cert.pem ++ ++6. Generate Client certificate ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-key.pem -out crl-client-req.pem ++openssl rsa -in crl-client-key.pem -out crl-client-key.pem ++openssl x509 -req -in crl-client-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 02 -out crl-client-cert.pem ++ ++7. Generate Client certificate that will be revoked later ++openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-revoked-key.pem -out crl-client-revoked-req.pem ++openssl rsa -in crl-client-revoked-key.pem -out crl-client-revoked-key.pem ++openssl x509 -req -in crl-client-revoked-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 03 -out crl-client-revoked-cert.pem ++ ++Prepare for certificate revocation ++---------------------------------- ++ ++8. cp crl-ca-cert.pem cacert.pem ++9. cp crl-ca-key.pem private/cakey.pem ++10. touch index.txt ++11. echo 1000 > crlnumber ++12. copy global openssl.cnf to current working dirctory ++13. Open local copy of openssl.cnf and in [CA_default] section ++ - Update dir to point to current working directory ++ - Update certs to point to $dir and not $dir/certs ++ ++Revoke a certificate and create crl file ++---------------------------------------- ++ ++14. openssl ca -config openssl.cnf -revoke crl-client-revoked-cert.pem ++15. openssl ca -config openssl.cnf -gencrl -crldays 3600 -out crl-client-revoked.crl ++16. cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.pem -noout -hash`.r0 ++ ++Replace existing certs ++---------------------- ++17. Replace following files in /mysql-test/std_data/ with files generated above ++ crl-ca-cert.pem ++ crl-client-cert.pem ++ crl-client-key.pem ++ crl-client-revoked-cert.pem ++ crl-client-revoked-key.pem ++ crl-client-revoked.crl ++ crl-server-cert.pem ++ crl-server-key.pem ++ ++18. Remove file in /mysql-test/std_data/crldir ++19. Copy file generated in step 16 above to /mysql-test/std_data/crldir ++20. You may now remove new_crls directory +diff --git a/mysql-test/std_data/crl-client-cert.pem b/mysql-test/std_data/crl-client-cert.pem +index 2cec5cd529f..a0017c2441f 100644 +--- a/mysql-test/std_data/crl-client-cert.pem ++++ b/mysql-test/std_data/crl-client-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1f +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 2 (0x2) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:14:10 2019 GMT +- Not After : Jun 30 12:14:10 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate ++ Not Before: Jul 1 07:51:35 2020 GMT ++ Not After : May 10 07:51:35 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:d6:97:3a:d7:2b:cc:68:4a:7f:72:18:ab:74:7d: +- 51:84:48:44:11:9f:d1:f2:ee:e0:40:6d:a0:23:fc: +- 36:a2:44:ca:2c:13:60:62:f9:ce:45:54:ef:3d:ec: +- a8:6b:e0:02:66:10:89:1f:e7:bf:d2:2d:9c:79:e9: +- 3f:37:ae:fc:da:b3:0d:5f:6a:84:86:6a:04:13:26: +- 99:dd:c6:46:a3:e0:c1:1d:89:0b:4a:42:08:8e:d4: +- 56:3b:12:5e:de:04:e1:b7:da:b5:73:ee:9c:7f:a8: +- 04:f3:18:04:a7:5e:9d:a6:fd:b4:04:17:bb:3d:07: +- 8b:2b:cd:29:cb:ca:6a:d1:70:5d:4f:e5:10:09:44: +- 20:73:ef:65:87:0b:42:67:2c:1c:64:59:bd:56:ea: +- 88:d4:f1:b1:31:d8:ee:8a:bb:3d:22:09:6a:68:ec: +- b4:c5:07:15:81:9e:ae:ee:72:d7:2d:67:df:bd:fd: +- c5:10:5e:e6:88:18:ad:2a:2d:e4:33:be:ac:f7:fe: +- f9:b9:40:54:69:f9:78:fe:57:81:93:89:49:a7:8b: +- 64:8b:72:ea:ab:53:55:43:1e:ea:3a:cd:b0:cb:97: +- 43:9b:70:cc:12:ef:22:08:55:d1:1c:ab:8b:1e:c1: +- d5:4f:15:3f:2b:f7:01:39:a0:74:33:ae:ea:45:25: +- af:2f ++ 00:ab:7f:02:81:a3:ce:01:93:02:67:2a:56:e3:51: ++ 5a:1d:a0:57:e8:4f:bb:2f:27:4d:13:9e:18:8e:b0: ++ ec:47:a9:9c:cc:ce:24:be:64:c2:86:3f:91:63:d3: ++ 23:22:d9:10:e4:44:d5:2e:b9:09:06:e4:8f:0f:91: ++ 90:18:a6:f6:bb:de:4c:63:13:2a:59:41:fb:42:c4: ++ 05:ce:1a:f2:9e:dd:d5:50:00:55:28:7a:56:63:a9: ++ e0:81:f1:ef:03:61:97:00:88:39:85:a5:9e:08:11: ++ fc:76:5a:59:23:79:d8:45:d2:d3:94:19:78:8a:ca: ++ 44:f2:dd:08:df:65:15:0d:d3:b7:df:f5:2c:6c:bb: ++ 86:fb:0e:1a:19:be:ee:8a:af:1f:3d:30:6e:4f:42: ++ 3d:ca:80:39:d5:05:2d:74:5a:6b:0a:0c:49:7c:8b: ++ 95:50:37:46:0e:90:3a:e4:36:58:73:6c:49:69:b0: ++ 76:ca:c4:aa:70:48:b2:1f:2a:86:8a:ae:a7:e0:9a: ++ b3:af:5f:7a:67:6a:1a:f3:e8:2e:57:1e:f2:ac:96: ++ a2:ae:39:f3:7f:e3:7f:e3:b4:0f:e1:d3:e3:95:c6: ++ 04:2a:5e:ca:7e:79:52:a5:49:be:95:66:72:80:d4: ++ 2b:7f:cc:b9:aa:1a:24:27:27:6f:3d:b9:d7:5a:fd: ++ 48:23 + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- BF:48:07:97:37:D7:64:E6:86:B7:3F:0A:1B:C7:08:9A:35:B0:5B:48 +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 30:e8:b1:28:8d:f3:09:c8:58:a5:2a:2b:6e:19:ec:f4:3f:fe: +- a0:b2:82:ee:08:5b:aa:94:2c:23:3a:b3:e5:14:43:21:f7:18: +- 23:00:c4:88:b7:b3:b2:c8:b0:31:a2:b3:60:b5:9e:3f:95:b1: +- 72:64:58:da:d7:8d:21:ef:85:93:6d:8d:46:a0:21:5b:c9:bd: +- c6:ea:c6:ff:36:c7:82:d6:4f:71:cf:81:f5:72:af:b1:b9:03: +- ea:a3:7c:2e:b8:67:ce:4b:32:d9:75:c9:5c:4e:2c:1c:c2:25: +- 95:6b:6d:d4:49:5a:c1:01:54:98:78:73:40:3f:05:e5:91:73: +- fc:dd:88:4c:d3:c4:f9:9e:da:fe:cb:e0:a1:2f:6d:15:b5:d8: +- c5:92:07:4a:bf:1e:0b:ac:f4:6e:a3:86:85:31:df:be:a0:90: +- 54:74:12:7c:d9:47:a9:f3:ed:c2:8e:69:0d:2e:51:eb:7b:9d: +- b8:7d:cb:32:ac:65:bd:8f:52:97:41:8f:7b:ca:38:3f:49:77: +- 3c:4b:ac:b1:19:34:03:20:40:a3:9f:ad:79:c9:90:8f:08:8c: +- 6f:9b:a9:de:d5:31:35:e2:27:bb:14:36:06:28:19:30:49:a7: +- ce:42:a7:19:61:2d:7a:94:1b:c6:15:86:4f:20:c1:49:a3:11: +- 86:b6:61:87 ++ 9d:4f:df:b6:eb:02:57:d5:e0:bb:f4:31:5c:2d:0e:ac:51:ce: ++ 8c:5e:97:58:a8:79:cf:67:be:5c:00:7d:e5:aa:de:5e:8c:61: ++ 18:39:2d:4e:e3:62:9f:ba:fc:e3:dc:94:6c:1f:40:0c:e4:98: ++ 26:ac:06:45:8f:dc:73:c8:75:0e:12:b3:46:3c:71:2d:c7:d0: ++ fd:07:71:77:68:f9:55:2d:56:66:8b:27:77:c3:af:87:ee:ba: ++ 21:8a:85:5e:82:93:69:e7:d9:30:3f:53:06:d5:c1:cd:0f:2f: ++ be:f8:5b:07:9c:e2:08:d1:ec:a3:a8:e1:c4:49:e7:6a:1d:37: ++ b4:41:85:a1:11:43:cd:14:7d:a9:b7:d8:32:ae:75:d1:14:6e: ++ 99:cf:52:1c:7c:50:5d:57:09:1f:7c:e6:4a:70:60:cc:49:10: ++ 7a:66:37:2e:a7:ee:5d:11:ed:d7:61:5c:c3:ed:dc:c2:9a:d9: ++ c4:92:54:95:67:04:81:ba:8d:ba:a7:c4:81:7a:63:63:52:28: ++ 5b:35:01:4e:3b:1e:34:55:d8:62:bc:79:db:c8:7a:6f:e7:0a: ++ 65:83:95:5d:bd:21:38:02:a0:24:d5:e5:5c:17:64:39:23:0d: ++ 27:62:d3:7f:c5:3b:52:26:ac:f2:13:f5:8a:53:09:d0:52:26: ++ 69:09:c4:e2 + -----BEGIN CERTIFICATE----- +-MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR8wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjE0MTBaFw0yMDA2MzAxMjE0MTBaMHsxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK +-DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz +-dCBjbGllbnQgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +-AoIBAQDWlzrXK8xoSn9yGKt0fVGESEQRn9Hy7uBAbaAj/DaiRMosE2Bi+c5FVO89 +-7Khr4AJmEIkf57/SLZx56T83rvzasw1faoSGagQTJpndxkaj4MEdiQtKQgiO1FY7 +-El7eBOG32rVz7px/qATzGASnXp2m/bQEF7s9B4srzSnLymrRcF1P5RAJRCBz72WH +-C0JnLBxkWb1W6ojU8bEx2O6Kuz0iCWpo7LTFBxWBnq7uctctZ9+9/cUQXuaIGK0q +-LeQzvqz3/vm5QFRp+Xj+V4GTiUmni2SLcuqrU1VDHuo6zbDLl0ObcMwS7yIIVdEc +-q4sewdVPFT8r9wE5oHQzrupFJa8vAgMBAAGjUzBRMB0GA1UdDgQWBBS/SAeXN9dk +-5oa3PwobxwiaNbBbSDAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP +-BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAw6LEojfMJyFilKitu +-Gez0P/6gsoLuCFuqlCwjOrPlFEMh9xgjAMSIt7OyyLAxorNgtZ4/lbFyZFja140h +-74WTbY1GoCFbyb3G6sb/NseC1k9xz4H1cq+xuQPqo3wuuGfOSzLZdclcTiwcwiWV +-a23USVrBAVSYeHNAPwXlkXP83YhM08T5ntr+y+ChL20VtdjFkgdKvx4LrPRuo4aF +-Md++oJBUdBJ82Uep8+3CjmkNLlHre524fcsyrGW9j1KXQY97yjg/SXc8S6yxGTQD +-IECjn615yZCPCIxvm6ne1TE14ie7FDYGKBkwSafOQqcZYS16lBvGFYZPIMFJoxGG +-tmGH ++MIIDdTCCAl0CAQIwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUxMzVaFw0zMDA1MTAwNzUxMzVaMIGCMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 ++U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB ++BQADggEPADCCAQoCggEBAKt/AoGjzgGTAmcqVuNRWh2gV+hPuy8nTROeGI6w7Eep ++nMzOJL5kwoY/kWPTIyLZEORE1S65CQbkjw+RkBim9rveTGMTKllB+0LEBc4a8p7d ++1VAAVSh6VmOp4IHx7wNhlwCIOYWlnggR/HZaWSN52EXS05QZeIrKRPLdCN9lFQ3T ++t9/1LGy7hvsOGhm+7oqvHz0wbk9CPcqAOdUFLXRaawoMSXyLlVA3Rg6QOuQ2WHNs ++SWmwdsrEqnBIsh8qhoqup+Cas69femdqGvPoLlce8qyWoq4583/jf+O0D+HT45XG ++BCpeyn55UqVJvpVmcoDUK3/MuaoaJCcnbz2511r9SCMCAwEAATANBgkqhkiG9w0B ++AQsFAAOCAQEAnU/ftusCV9Xgu/QxXC0OrFHOjF6XWKh5z2e+XAB95areXoxhGDkt ++TuNin7r849yUbB9ADOSYJqwGRY/cc8h1DhKzRjxxLcfQ/Qdxd2j5VS1WZosnd8Ov ++h+66IYqFXoKTaefZMD9TBtXBzQ8vvvhbB5ziCNHso6jhxEnnah03tEGFoRFDzRR9 ++qbfYMq510RRumc9SHHxQXVcJH3zmSnBgzEkQemY3LqfuXRHt12Fcw+3cwprZxJJU ++lWcEgbqNuqfEgXpjY1IoWzUBTjseNFXYYrx528h6b+cKZYOVXb0hOAKgJNXlXBdk ++OSMNJ2LTf8U7Uias8hP1ilMJ0FImaQnE4g== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-client-key.pem b/mysql-test/std_data/crl-client-key.pem +index 677e42ce062..8a361d9ca77 100644 +--- a/mysql-test/std_data/crl-client-key.pem ++++ b/mysql-test/std_data/crl-client-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEpQIBAAKCAQEA1pc61yvMaEp/chirdH1RhEhEEZ/R8u7gQG2gI/w2okTKLBNg +-YvnORVTvPeyoa+ACZhCJH+e/0i2ceek/N6782rMNX2qEhmoEEyaZ3cZGo+DBHYkL +-SkIIjtRWOxJe3gTht9q1c+6cf6gE8xgEp16dpv20BBe7PQeLK80py8pq0XBdT+UQ +-CUQgc+9lhwtCZywcZFm9VuqI1PGxMdjuirs9IglqaOy0xQcVgZ6u7nLXLWffvf3F +-EF7miBitKi3kM76s9/75uUBUafl4/leBk4lJp4tki3Lqq1NVQx7qOs2wy5dDm3DM +-Eu8iCFXRHKuLHsHVTxU/K/cBOaB0M67qRSWvLwIDAQABAoIBAQCOie2ft4wTSkjV +-dOWOfx+Ciq4MNuiyQVHb+fWBcaqopqDUHhrMI7qL+xrfOy+0WBu/yAQNmValOX7S +-y8geKLH0YzLiylI1Jn6GagGSen25pTUhdUJ2lN4yYYDVxCIXv45fHXuiAkEZ2nVP +-NAkDU6nMnoDQpyLMKxKaibDVmSLS8mR+wVW/1jKz0kvaNFzB3Ib6Is2tBDTAj5hO +-4WaC4kvfuRL9en42WXPU/fQNcHVkxdiFsGwXgG8ZHiWpe/sE92qctTx/QmwIuj5I +-IP06a/piWh/IhoHrx3aP+Y4OV5sw1+k/cpd9Il2mg+2nbLhkKBoknngt/p6/Nt3O +-qowrQXJhAoGBAPbMSMr+nDJBDvPj9AXm5VXou3SQJnMHdGMZAj6odSA2+2msK6VT +-ZNJ75eOzveb0y+w/9hETwltMuUjfnITtu/5UN3GOP15HgOWSUrwJ+NXsoT0xuP83 +-gz2lwK5g/YqED1606yXFFBRcxHnE3hpiTuRb5vrPKKinOl5eAz8Bso0jAoGBAN6X +-hgmdpqs3k1BrdTFooNz6iZvWQanmBZd/XXETdKAF6YzHHnjARd/b3TOCkPqKWxc/ +-+JdEBiWCeaCDG3jobAU0EeeA5G6rztcbYucDkhIGlb2rgIJoubVKzUwPCSL1xTrJ +-VMBwkIo4CZDcPwKYvQBaa1PulazF7ZJDDNNV//SFAoGBAOK4/M5vZLLODZyEd3LM +-kTaA3WTR4GCgIo2/Nc62FxOHLyP+5QG2QNMUuzaZswVvMb9Raw55Jn2VWEnYEwQT +-GjckyuJpGVHVQlakO5k/V/e+sMl02kyrhMendAE+XO1ZMH2CmttR14Z1SpHLB3cZ +-hPxIaUNT+DgnmHmEyFqjhpIdAoGAQf/blm5QROQtoeK61POY/uyqcLKOtbmmXs08 +-/5ItOmWGYl+IAXXBQicG54cHRcJQUAx/wRpCWEzfk2BMfQUtQj22MVZeZRI8Oju8 +-j5LXdNDPBXYcnI5AwihzxuGOa/dDi7K2lnjJ4rHK5FDpvfNb1wb4W+KaLqhhUMTg +-wKj3Q6ECgYEAtufmUZ/bJJu76lY2OpKopFhIvNAsusbtewz5gcm5vZr8vMtYgp/n +-gdouphit+z76P9XC7rIrWYns4WyZmsaPXHSepvSH5P25G6DzyjRplCJ3EIjZu++7 +-ZG/hac1Vo82T5Qeg1IpOHVE4jceC8XfUcmuoBO31ScZFeOQlT2otdY0= ++MIIEogIBAAKCAQEAq38CgaPOAZMCZypW41FaHaBX6E+7LydNE54YjrDsR6mczM4k ++vmTChj+RY9MjItkQ5ETVLrkJBuSPD5GQGKb2u95MYxMqWUH7QsQFzhrynt3VUABV ++KHpWY6nggfHvA2GXAIg5haWeCBH8dlpZI3nYRdLTlBl4ispE8t0I32UVDdO33/Us ++bLuG+w4aGb7uiq8fPTBuT0I9yoA51QUtdFprCgxJfIuVUDdGDpA65DZYc2xJabB2 ++ysSqcEiyHyqGiq6n4Jqzr196Z2oa8+guVx7yrJairjnzf+N/47QP4dPjlcYEKl7K ++fnlSpUm+lWZygNQrf8y5qhokJydvPbnXWv1IIwIDAQABAoIBADdU9mEPkdMONJNG ++pNwZDmNKrbJFr1ZKbuLqem/ng4Sno/CsfkxzxBN+hRFZORfwQzPzRXkauF/h9IqI ++Y56gmDELS0gYEezUjhX/mwPhy/AYENAMG23A8wia8dXbUkub/BVu3mhRhEiETRl+ ++kw4QLQhyOlOpWCwnkNFvIYK6YW2hHye1utu7L+Hy2zyi9g6ZKyZRl8W/OrFT2ka0 ++5zAOb1ttYLUdzK+ErF29GrT2X7PCL//QCNHQW2q03QWSRA7w+MbfytkJRLsCl8fg ++V1uVjP/RumuS6fLxQkytbaioukmfzO+4J0Z+JWpF2IqzixrdxlgPvMIAUDHEOVdv ++JlXuI4kCgYEA4xs75iLM+YDxHyygfyJZGI7iqwfkXbRDcKp/MECa7KcvJs0l8Eeu ++lB0jSM/uy9o92vTXLb5bi45vBiCjImAuZQL08elQZuR5JiPJZqF/b3BXsLUcPIbI ++oxO3hLdigyt9wuuk3XvhrYJkLJZ6z8lBR6Qfvre8kApqLjnlH2QGUR0CgYEAwVCS ++Wy4AL1goFHc+b/hFou0nWLjVFiMpNroDEQigvLnnRG7irMDxDsxAcotl6tYzjjys ++JKtMmBJDJnlsHnO8NK2sUn1CQTxdxoXOhVD0mtbaowU+PVZDzhp1j1dzmtzovKTo ++Qkh+DV8Z4ulbaJ+ROpgCZYCoJ5K3PEwjrrbN+j8CgYA5BZKBkwVSNBzWjfbyVOZ3 ++8xBYjw+4s1UnibeLnv0HJGcDYAkBjo335GUCmCrGBlL3kfghJSWJIccgi7tKG0oq ++1JY50zH706vTdrLP0QbVLSjnVmHzlIf14jJ24TCb7KST92Sas8sTLKUISPQnDcoV ++OdE6qplutR654pFz00J+xQKBgGDM6MyxpzQN79v3rhNBfhVMrcQ2obU5HB0kXf68 ++lEiMyqqw397jqpHfY3I4LWu/oQdbiFPAV1Va57cvXB2PlLHIOZ8AzBmAkfCj9js5 ++w5J5fffd20G5nbBp/W4uu1vTvNMhvI/cXwpxEbRXaAdmx8FQdvq+xvUx+YE/GysU ++rOXfAoGAQ4G+nrbKq76GEKfMzGnAHunSbdYlHOY/sHJ2Z0M/5eHIcvOEBJKGXl3m ++xe6WR/wavanNwMQ4aqpRv09yufdnoVsJcWpThDDBDIlstHUvO1mnk8B7OqHL2GIy ++lbo/QtpHT/46igRZUtBZFyZu4hb5EwBIpKNm1X/MyFYU7XMrvpQ= + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crl-client-revoked-cert.pem b/mysql-test/std_data/crl-client-revoked-cert.pem +index d3b81e2c1a2..d48e20e0d9e 100644 +--- a/mysql-test/std_data/crl-client-revoked-cert.pem ++++ b/mysql-test/std_data/crl-client-revoked-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:20 +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 3 (0x3) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:18:02 2019 GMT +- Not After : Jun 30 12:18:02 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked ++ Not Before: Jul 1 07:52:41 2020 GMT ++ Not After : May 10 07:52:41 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:e2:df:28:76:87:da:b5:49:64:03:a4:92:50:53: +- 89:d1:b8:85:a8:76:6e:2c:44:6a:85:f2:a2:7a:d9: +- f1:26:ab:f7:ea:e4:46:77:ce:38:9e:49:dc:e0:c0: +- ce:c1:e3:e2:3c:80:3a:e0:ab:7d:1a:fa:31:12:59: +- a5:b1:24:b5:42:30:e7:1d:95:85:4d:eb:17:ce:13: +- 8f:7b:25:7b:4b:ff:44:7c:b6:07:4b:e3:b8:ab:c2: +- 0d:07:6f:e3:bb:2d:56:8d:0f:c7:78:29:c7:c6:94: +- df:82:d6:32:15:cb:5f:e1:7b:8a:38:e0:ae:cd:aa: +- 58:37:99:6b:5a:52:20:a5:fb:fa:d7:61:bd:c4:5d: +- 11:fc:10:0f:49:74:9e:be:30:6b:cb:c1:4b:b8:5c: +- 50:85:4a:fd:d1:13:3f:3e:e0:b8:3e:ec:30:92:9b: +- 2b:b1:67:86:2e:2f:76:5d:ce:16:31:7f:eb:0e:0e: +- ba:14:97:d1:5e:35:fb:c9:af:fe:20:36:56:60:bc: +- 95:45:84:de:90:59:d8:24:57:24:48:4a:cf:3f:9b: +- b2:89:7d:9d:91:dd:da:92:a6:77:01:9e:09:5c:96: +- a3:94:d4:95:5e:69:d4:a4:13:af:47:e3:64:7a:26: +- bf:c4:a2:6b:0b:5f:b6:f9:ee:40:1e:e8:54:04:bd: +- 98:89 ++ 00:c2:57:18:e7:94:ce:44:87:f3:45:8d:e1:c3:a8: ++ a0:1f:9a:04:9a:67:de:4a:41:bc:5d:0f:31:07:9f: ++ e3:d5:82:54:81:b9:dc:77:43:62:51:42:43:cd:8c: ++ 31:71:0f:5b:dd:e8:02:c5:f2:3a:be:e4:e9:64:99: ++ df:e5:8f:34:fc:f9:2c:5b:1d:b1:93:8b:b7:c5:55: ++ 5e:10:f9:b5:1c:0b:9e:1a:65:3d:ab:2e:51:a5:fd: ++ 10:97:57:2d:98:6d:9a:82:0e:ae:25:21:cc:dc:26: ++ 01:16:34:8a:f4:67:30:2f:77:4b:56:7b:e4:ec:c2: ++ cf:1e:ec:0d:0a:29:c1:49:2f:5e:6e:75:4f:d7:b4: ++ d0:b2:73:09:9f:25:e0:a8:41:66:e0:78:d4:2b:f5: ++ 6e:3c:20:15:3e:75:d1:e3:cc:ee:47:b8:2a:fe:46: ++ f4:bc:01:7a:9f:67:48:12:bc:a1:b9:e1:b7:31:4a: ++ 2f:6a:ed:d1:33:7a:26:ab:01:88:05:70:48:8b:87: ++ 41:4b:44:78:67:7b:e7:37:8c:b7:41:c0:6a:eb:37: ++ 3b:de:a9:91:16:75:f9:14:81:eb:b4:60:db:a0:2e: ++ 93:8a:61:91:33:ee:12:2f:85:2c:12:96:30:f1:f5: ++ 00:42:16:95:a7:e9:06:30:32:b9:a3:fe:19:1d:fb: ++ 28:ff + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- 99:C4:1D:9A:1D:7D:43:C0:FB:B2:17:64:60:B3:33:0B:9C:69:1E:6F +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 10:35:2a:20:3e:7c:d0:8d:7a:c8:0a:1f:a9:ad:c2:67:c5:eb: +- bd:f6:eb:67:e6:e4:d2:d0:c8:0c:1b:9d:fb:99:a6:1c:b5:30: +- 23:35:71:19:a3:1c:fd:f1:f1:a9:30:de:1c:b0:c4:05:2b:93: +- 4d:60:e7:00:0d:c3:3b:d5:67:6a:38:3f:6a:ee:63:bd:ce:7f: +- a4:b8:9a:23:7b:d9:68:5d:80:04:b8:43:98:00:18:70:89:71: +- 38:3b:07:33:0f:60:2c:cf:90:7c:bd:78:69:6f:a1:38:a1:0f: +- 37:04:af:01:6c:ba:7a:84:d8:4b:ed:e3:f5:52:ec:de:a1:0c: +- ac:a5:35:62:75:b5:36:6e:75:77:9f:14:40:c2:6f:93:f3:23: +- 70:ff:fe:0e:6a:50:45:45:e4:8c:98:8b:4d:2f:8c:05:43:29: +- eb:0d:09:25:1a:c6:19:1b:8c:7a:ae:c4:31:b7:54:e6:d2:dd: +- 62:c5:18:6d:b8:e0:ce:d9:84:0a:ca:f0:95:2b:92:d0:69:f5: +- 85:6e:f1:49:63:fe:e9:71:a3:4b:55:ed:56:f1:de:96:7d:b9: +- 6f:be:8f:00:99:e6:c8:21:26:eb:9c:d9:3b:da:9e:5d:dd:8e: +- 64:5d:de:d4:60:56:5f:59:62:05:c8:f4:0d:ab:dd:ac:54:2c: +- 66:24:ea:da ++ 26:ed:c6:62:c6:37:5b:d6:5a:8d:f1:09:4e:ac:0e:d6:0c:fb: ++ 3c:a0:73:c7:2c:c5:23:ed:ca:b4:27:aa:66:1e:37:e0:5c:3a: ++ ff:35:82:f2:da:2e:4a:16:0a:5c:ea:38:9b:63:ce:2e:0c:27: ++ e6:e9:77:c7:ba:16:75:f3:1c:9b:9b:83:aa:90:3a:3e:2e:1b: ++ 01:07:24:d1:c7:a8:e9:d6:30:ea:04:37:7d:ed:dc:d8:36:35: ++ ca:df:83:e3:7f:49:b7:a7:06:3b:2b:fa:ed:03:7c:91:39:93: ++ 44:59:b5:ed:5d:28:30:25:76:c5:5e:67:ce:28:c6:d1:68:48: ++ bf:43:33:40:8d:5d:3d:2b:cb:8e:b3:77:cb:a7:41:f2:94:20: ++ 0a:ab:c7:86:1f:e4:04:84:a4:73:19:ae:e4:ba:82:9a:35:0f: ++ 44:26:f0:49:0e:9d:08:d3:7d:94:b0:22:ae:62:7a:3e:60:48: ++ 4b:09:11:4d:bc:1e:80:21:65:6f:21:77:43:be:8c:3d:c9:71: ++ c7:c5:88:90:5e:60:26:64:8a:43:45:2e:a3:02:0c:8d:e1:b9: ++ 76:a6:c9:61:2d:7a:d2:3c:17:c4:74:01:2f:dc:eb:a0:90:f5: ++ f7:0a:19:2b:d7:38:fb:c3:aa:c7:b6:76:17:72:1a:41:8f:54: ++ 95:72:94:bc + -----BEGIN CERTIFICATE----- +-MIIDyDCCArCgAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokSAwDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjE4MDJaFw0yMDA2MzAxMjE4MDJaMIGDMQswCQYD +-VQQGEwJJTjELMAkGA1UECAwCS0ExEjAQBgNVBAcMCUJhbmdhbG9yZTEPMA0GA1UE +-CgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEyMDAGA1UEAwwpTXlTUUwgQ1JMIHRl +-c3QgY2xpZW50IGNlcnRpZmljYXRlIHJldm9rZWQwggEiMA0GCSqGSIb3DQEBAQUA +-A4IBDwAwggEKAoIBAQDi3yh2h9q1SWQDpJJQU4nRuIWodm4sRGqF8qJ62fEmq/fq +-5EZ3zjieSdzgwM7B4+I8gDrgq30a+jESWaWxJLVCMOcdlYVN6xfOE497JXtL/0R8 +-tgdL47irwg0Hb+O7LVaND8d4KcfGlN+C1jIVy1/he4o44K7Nqlg3mWtaUiCl+/rX +-Yb3EXRH8EA9JdJ6+MGvLwUu4XFCFSv3REz8+4Lg+7DCSmyuxZ4YuL3ZdzhYxf+sO +-DroUl9FeNfvJr/4gNlZgvJVFhN6QWdgkVyRISs8/m7KJfZ2R3dqSpncBnglclqOU +-1JVeadSkE69H42R6Jr/EomsLX7b57kAe6FQEvZiJAgMBAAGjUzBRMB0GA1UdDgQW +-BBSZxB2aHX1DwPuyF2RgszMLnGkebzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4 +-ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAQNSog +-PnzQjXrICh+prcJnxeu99utn5uTS0MgMG537maYctTAjNXEZoxz98fGpMN4csMQF +-K5NNYOcADcM71WdqOD9q7mO9zn+kuJoje9loXYAEuEOYABhwiXE4OwczD2Asz5B8 +-vXhpb6E4oQ83BK8BbLp6hNhL7eP1UuzeoQyspTVidbU2bnV3nxRAwm+T8yNw//4O +-alBFReSMmItNL4wFQynrDQklGsYZG4x6rsQxt1Tm0t1ixRhtuODO2YQKyvCVK5LQ +-afWFbvFJY/7pcaNLVe1W8d6Wfblvvo8AmebIISbrnNk72p5d3Y5kXd7UYFZfWWIF +-yPQNq92sVCxmJOra ++MIIDfTCCAmUCAQMwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUyNDFaFw0zMDA1MTAwNzUyNDFaMIGKMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxMjAwBgNVBAMMKU15 ++U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXZva2VkMIIBIjANBgkq ++hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8 ++XQ8xB5/j1YJUgbncd0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3 ++xVVeEPm1HAueGmU9qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLP ++HuwNCinBSS9ebnVP17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6 ++n2dIEryhueG3MUovau3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5 ++FIHrtGDboC6TimGRM+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABMA0G ++CSqGSIb3DQEBCwUAA4IBAQAm7cZixjdb1lqN8QlOrA7WDPs8oHPHLMUj7cq0J6pm ++HjfgXDr/NYLy2i5KFgpc6jibY84uDCfm6XfHuhZ18xybm4OqkDo+LhsBByTRx6jp ++1jDqBDd97dzYNjXK34Pjf0m3pwY7K/rtA3yROZNEWbXtXSgwJXbFXmfOKMbRaEi/ ++QzNAjV09K8uOs3fLp0HylCAKq8eGH+QEhKRzGa7kuoKaNQ9EJvBJDp0I032UsCKu ++Yno+YEhLCRFNvB6AIWVvIXdDvow9yXHHxYiQXmAmZIpDRS6jAgyN4bl2pslhLXrS ++PBfEdAEv3OugkPX3Chkr1zj7w6rHtnYXchpBj1SVcpS8 + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-client-revoked-key.pem b/mysql-test/std_data/crl-client-revoked-key.pem +index 52875dc6f03..dd2f2565bd1 100644 +--- a/mysql-test/std_data/crl-client-revoked-key.pem ++++ b/mysql-test/std_data/crl-client-revoked-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEpAIBAAKCAQEA4t8odofatUlkA6SSUFOJ0biFqHZuLERqhfKietnxJqv36uRG +-d844nknc4MDOwePiPIA64Kt9GvoxElmlsSS1QjDnHZWFTesXzhOPeyV7S/9EfLYH +-S+O4q8INB2/juy1WjQ/HeCnHxpTfgtYyFctf4XuKOOCuzapYN5lrWlIgpfv612G9 +-xF0R/BAPSXSevjBry8FLuFxQhUr90RM/PuC4PuwwkpsrsWeGLi92Xc4WMX/rDg66 +-FJfRXjX7ya/+IDZWYLyVRYTekFnYJFckSErPP5uyiX2dkd3akqZ3AZ4JXJajlNSV +-XmnUpBOvR+Nkeia/xKJrC1+2+e5AHuhUBL2YiQIDAQABAoIBAFTjfzZquvEeVufu +-Cjk4KNdqHcjdF3hE2T7pfNZO+iaoLgmcBKoLZbAEnzsRqctuw1Yz/NPYFuWjO/1L +-we24eIId3jx5l/mBv9SCCSvg6HOVPkETs0M4H/9Uip9/xExjOIFrqA1URMYPKlrA +-Xtk80dGC8kM5/u5BkOSs6ThQhprUK7oWOoVKu3XMmau49LH7SA+zwcUh0JCOS4gL +-MCytKtviahFp7tgFDaugTtRGDdtVrtVHuOmygLj+gU+6h3rUvYPMkNqKWkLRA0bE +-kO0R85VKC+TwOPnlSJAEgWxnEL499TOUg+pnRRAu8sggmm5ziwwWJluiOdELnUq9 +-ORCETMkCgYEA80BXGP/oY6QMwc2FcXHWK5VtZiHs7FJxN7x4Mwlrgj/in+6cIyrW +-PzdZWXcQ1Y/QQuCp0pch7PrwfNouCUSMNJHEqzXmGnU03JBA1FwKAenog00dAdou +-uS8PvVcocdDS+X7wTimyMDEUvurTMnWv1f7kKTv7qxfmMUvMjGCan48CgYEA7sMO +-L86cYqwHvA6arKbSiRddoc3vt9uWZUfrU3M5tcQaWjXWZlDIoZgA07av3haNSbsI +-bZ/KwwHWFMiBxt4q9APFZpK1SU2d+g57lF5j/2Phe3Sf75EzdUSidxfsh2SGY8Tn +-elmz88vA1YXDZVPY95ksqWTmlsdv8wfdamsPOmcCgYEA2Ek9KF1ipDYZobi8DkLJ +-y7bxrv47S2WChaxus/KMRSPIvavL6PkNxufP6lyT+1AEPXLFjRoUcEIv0tOsW1E3 +-2QZDeHhUQPI2LmeVPT0ZKNpyg0ztndgB82aE+DWnIIwtCupzgQxSA8egSqFBaHx7 +-/CrHdGKBQ3/cjbh4B9ldosECgYAW/BYQih5J7W+tLea7+i9IXUR5QB70nyICTAMe +-fHgwxFkZGBe0r9AwpjZmKy8Q/TDKyUONchWN4k5en9LGdzrBVN+a+UKUdPFhUiWZ +-aeDMhCv/u4FuCZdfkaTmPBpcClRZpGn4QExviszcgU0HIyQ+6bL/96OvHjHrvnUV +-OoszvwKBgQCS1ZPLPp/QkCrhmh2La0qrybjqYOuOiUqbXn5Df2YSJq6kulUa1vvv +-c68aYpT4K021D8+/6xOxWMasZc7oBnH76mKWBC/Nf0z/NVO7HzHVkM/MYOcZJ9R3 +-eZUUuiBiUxEMLBtN3T7UEdt1dmarlDacohzgfhMXnNpEGhFAAdxaUA== ++MIIEpAIBAAKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8XQ8xB5/j1YJUgbnc ++d0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3xVVeEPm1HAueGmU9 ++qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLPHuwNCinBSS9ebnVP ++17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6n2dIEryhueG3MUov ++au3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5FIHrtGDboC6TimGR ++M+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABAoIBAQCx7VAt5n2bHOVL ++zwTeQCqqBDcmruZEEj9E7D21f1v3BOYeB26j+puvTf4J2MsDek5fsqWnWYkTcT2G ++D6N/50daPT+xBFSqg4bzMp9250g7rx9Hh12YtkWmtTVVekmSfvaxEIO8F2AaRulD ++zUNTVI43Rv9A5RnI8uryoqeloGkIeK9w0Gm0lSelqDNqb3OYbSX4OkBHC3wFvQBV ++eCwDIJIS9hXc8+mt42T5iaAGvVgHEzsOyTtWlMWPlgiIVq1VzoGiyjTR3E+V+tfy ++fzB/nq8s1t0/AOpEkk5LNX8UE1TnET7kqtBw/UmZ9BJ9FtZaYXBFprjxi/hGZbTW ++oYBIaqtxAoGBAOQ9RHUb1V/mJ/qhWsLsKQdNlE/49ypevjUGwcr6YH7lcNz4YDrk ++t75NmQv1svN7UuDpYzATe84n4F+ZmaN/pESKdFOmQ7usosGp8NKGxRQ1Upqr5DEm ++P4wfz/kwsquJOMbSEczfMc7C8CTm5m6wrs9pX8r5UJq7vZHOCAnL7mr7AoGBANn6 ++TpB1Pbimv5kub8c8Wi/in9/Y3kDJpBm8oy9aWPLyzVag41O8QDEma8hIxbqMF6fG ++kv9gYzTZ5+w6Uz58CSp1BYzWOaevpqpdRd4YxaMIOnI5ddDTAGQBudkCy6X2qXRl ++Dk4fnkr0GvyIlIhAKnBEnmSo5DPX7W6kPwWk9hrNAoGBAIV3nnStFhXCTVauzJh3 ++6XYv068Ac+j/BlOT4/eCerM6EMnnJL7LyPcsAXeQ8liXoVuMn0gZ3KgtgXPmKoYF ++ulWqcWQJMkqpJXQCoKU70juDAw8XvZVQPJEAeWnLJHBTCjSZ23bmfgXe0PeDXvUT ++tOXtROs45/3UE4MT7HduHbnJAoGABNRS4Uh3sZugKxioSVXA+cafnCoF4pGVHSzc ++wLPTvK48dmriHnzRP0WGpc1W9Ccebw0rPJU6HXWmeclhBsVgvpwRH2mvpVNy8dtX ++LPCHkHEiOl2jipjiLVUMdQ5mzKqGXpnOk1SIAUkfP/EWuV4SkqIykDBdvfhOvmDN ++NKbO/RECgYAK2mueSaD3BRtJEiTCCnAjcov3nBIYgXj1y+BCSo5YGMdHSgLMMq7M ++45uUSjv3zNv9wr4Og5/2qDE18ISxPHTvGngNABTGDcLNgPm0j5smwJSe99BITwZb ++jTaa0WaPPdvEzPpaTiNJi81/5UWqNWc5Mg7LBlWhnCjtaYYzDOy33w== + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crl-client-revoked.crl b/mysql-test/std_data/crl-client-revoked.crl +index b0093e74369..367c35bfc34 100644 +--- a/mysql-test/std_data/crl-client-revoked.crl ++++ b/mysql-test/std_data/crl-client-revoked.crl +@@ -1,13 +1,41 @@ ++Certificate Revocation List (CRL): ++ Version 2 (0x1) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: /C=IN/ST=Karnataka/L=Bengaluru/O=Oracle/OU=MySQL/CN=MySQL CRL test ca certificate ++ Last Update: Jul 1 07:54:29 2020 GMT ++ Next Update: May 10 07:54:29 2030 GMT ++ CRL extensions: ++ X509v3 CRL Number: ++ 4096 ++Revoked Certificates: ++ Serial Number: 03 ++ Revocation Date: Jul 1 07:54:18 2020 GMT ++ Signature Algorithm: sha256WithRSAEncryption ++ 8d:76:b6:c6:84:2d:f5:14:fa:34:2f:0b:64:7c:20:c0:65:03: ++ 60:8a:6b:9d:42:0d:b7:51:93:92:75:b5:28:5d:2f:47:0e:6d: ++ a2:df:c7:a1:b9:95:49:c2:83:5e:36:41:77:63:b4:25:8b:60: ++ d9:f8:25:4e:6e:45:94:3f:a3:86:a3:b5:cc:f0:b5:eb:68:4e: ++ 1e:f6:d9:5d:e2:50:a6:e5:50:0e:a0:6f:e8:4b:66:9f:1f:0d: ++ 5e:e1:63:e9:c9:96:7d:98:b6:56:5e:ce:3f:d2:42:b4:d3:18: ++ 73:ca:ce:7a:42:71:29:7b:1f:bf:07:88:cf:d2:8e:1d:31:9c: ++ 00:92:a2:5d:bc:78:0f:7b:f1:02:fe:ed:d7:b1:dc:8d:25:9a: ++ d5:01:c1:d8:ac:fd:a2:41:96:bd:9b:72:cb:95:f5:85:a9:88: ++ b3:74:30:c9:82:5d:8b:c8:d6:8a:5c:92:e8:e7:09:f1:13:73: ++ fa:05:56:1c:e2:dd:9e:b5:49:71:82:67:e6:e3:57:53:c8:f7: ++ df:66:44:7a:d6:f8:4f:44:5f:7e:30:eb:7b:d9:15:db:e2:d0: ++ 85:45:9a:7b:d4:c2:f8:44:0f:5f:8c:d0:35:45:a1:c6:82:e8: ++ 43:49:73:09:3b:ba:9a:24:00:1f:3c:7a:38:bd:e6:b5:b8:45: ++ e3:33:d3:c9 + -----BEGIN X509 CRL----- +-MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE +-CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM +-HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y +-OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy +-MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 +-IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 +-wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu +-SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc +-SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B +-WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 +-dRhzrDB6GMxR ++MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE ++CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs ++ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl ++cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN ++MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB ++AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe ++NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp ++yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN ++JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx ++gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ ++O7qaJAAfPHo4vea1uEXjM9PJ + -----END X509 CRL----- +diff --git a/mysql-test/std_data/crl-server-cert.pem b/mysql-test/std_data/crl-server-cert.pem +index 5c14c4155c8..6328fe4fc42 100644 +--- a/mysql-test/std_data/crl-server-cert.pem ++++ b/mysql-test/std_data/crl-server-cert.pem +@@ -1,81 +1,70 @@ + Certificate: + Data: +- Version: 3 (0x2) +- Serial Number: +- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1e +- Signature Algorithm: sha256WithRSAEncryption +- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate ++ Version: 1 (0x0) ++ Serial Number: 1 (0x1) ++ Signature Algorithm: sha256WithRSAEncryption ++ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate + Validity +- Not Before: Jul 1 12:10:59 2019 GMT +- Not After : Jun 30 12:10:59 2020 GMT +- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate ++ Not Before: Jul 1 07:50:41 2020 GMT ++ Not After : May 10 07:50:41 2030 GMT ++ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate + Subject Public Key Info: + Public Key Algorithm: rsaEncryption +- RSA Public-Key: (2048 bit) ++ Public-Key: (2048 bit) + Modulus: +- 00:b3:b7:2d:68:62:08:c9:5b:90:25:89:98:4c:6e: +- 04:f4:5d:ff:e7:4e:18:37:db:63:ab:56:d5:7e:3a: +- be:37:cd:e6:5a:c2:73:a7:24:a8:f9:1a:bf:05:e6: +- 14:5f:31:7f:f4:73:8b:9c:c2:89:e5:fd:d9:5b:94: +- a9:a7:b4:48:a6:b0:95:d2:62:14:b3:15:47:26:83: +- 69:63:99:b6:48:ca:f2:ef:bd:1e:de:23:4c:e7:28: +- 54:13:ca:03:49:cb:07:a6:7d:e7:48:9d:03:88:5d: +- 3b:47:50:f6:17:21:34:15:c5:cd:4f:40:f9:ca:12: +- db:b6:53:0c:08:c3:a0:0b:68:03:0d:45:9f:4f:26: +- c3:23:3f:ef:6f:4a:98:0d:6a:2b:b5:4a:23:e3:89: +- 08:bd:c0:37:ef:db:be:82:4d:26:47:93:f4:de:3f: +- 04:ef:3c:d3:97:e3:c4:c5:65:9e:2f:f9:8a:13:f2: +- 74:12:ab:ff:99:9e:ef:d8:48:11:55:ba:f2:97:6e: +- 04:75:0e:e4:18:85:34:20:a1:da:db:60:35:98:0e: +- d0:44:27:17:81:d1:6a:5a:93:28:47:c4:4f:37:26: +- 72:db:d9:a9:a9:c2:e5:90:16:c3:49:89:67:68:0f: +- e7:dd:5f:a7:29:26:62:a5:c7:63:0f:1b:f6:9c:b8: +- 86:c5 ++ 00:f6:43:d5:3b:37:86:9f:54:a7:96:23:c6:90:73: ++ a2:cb:79:bc:77:1a:18:dc:ae:30:36:5c:41:e5:a7: ++ d0:bc:93:08:7e:7b:2c:9a:00:bf:9d:0f:ab:82:56: ++ e6:ad:f1:3a:6a:e2:49:5d:02:59:0e:03:10:63:b1: ++ 83:f9:73:19:40:ec:8a:a0:1e:17:c9:53:74:ca:ca: ++ 2b:2f:7a:87:98:dc:12:e6:c8:d9:6e:3b:bc:d3:c5: ++ f3:f4:fa:14:e2:5a:12:f2:3a:79:82:b7:a9:6f:21: ++ f6:c7:79:a0:c7:56:05:a8:01:64:e8:f0:67:81:29: ++ af:21:dc:08:02:8e:b8:cf:38:f1:ef:a6:ea:18:14: ++ 43:63:21:e8:a3:fe:78:78:b9:f2:04:6a:c8:32:48: ++ 66:4e:6e:4f:22:28:89:42:27:42:e5:f4:76:38:77: ++ 80:88:2d:73:c8:36:ab:24:40:68:fc:34:83:ba:1c: ++ 07:99:e3:3d:69:49:08:cd:4f:74:83:4e:33:5a:c4: ++ 87:65:7f:84:dc:73:80:93:55:21:5a:4d:86:97:b0: ++ 8a:93:d1:bc:63:c5:19:b0:8a:77:85:af:c9:74:cf: ++ dd:4b:17:8c:cf:62:b0:bc:1a:3b:3f:b4:18:6b:e7: ++ ad:4e:56:cb:29:be:31:4f:ee:3b:89:97:d6:fa:bd: ++ 5b:2b + Exponent: 65537 (0x10001) +- X509v3 extensions: +- X509v3 Subject Key Identifier: +- 50:0D:53:3F:37:4C:2D:EE:F0:F7:67:48:53:36:18:C8:50:65:60:3B +- X509v3 Authority Key Identifier: +- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 +- +- X509v3 Basic Constraints: critical +- CA:TRUE + Signature Algorithm: sha256WithRSAEncryption +- 17:be:6a:bc:a9:f0:5a:d9:72:bd:3b:83:f9:e1:ef:eb:a3:b3: +- b4:9c:e0:fd:9a:ad:c1:e2:12:0b:9f:fa:ca:9a:14:b5:43:96: +- 50:da:50:b1:42:9c:15:87:56:b2:5d:d5:ce:4e:dc:0e:a9:98: +- 0b:05:6e:57:ca:99:0f:28:9c:d5:b7:d2:c1:97:da:5f:34:b1: +- f2:73:4c:27:39:cc:40:86:80:63:18:74:e3:0f:c7:02:6d:76: +- 98:a6:2a:b5:e3:13:8f:d8:5c:42:8e:33:c5:dd:0e:bc:05:90: +- 96:9a:b8:de:d5:44:57:47:70:c9:26:0a:4b:96:0a:95:de:8e: +- b4:f6:1f:8e:96:41:1d:d6:65:28:1c:f3:6d:3d:b1:b2:38:c7: +- f6:b9:f3:fe:a4:98:fe:45:46:d2:04:a3:40:76:5f:3d:df:60: +- 71:dd:8a:bd:83:b3:be:54:87:f5:df:8d:40:e8:68:c1:90:90: +- dc:de:1b:e3:2c:45:2b:50:53:b2:95:1f:c8:ea:ad:72:5d:5b: +- 94:21:eb:d3:14:4a:41:7f:c4:aa:88:41:a8:1f:61:fb:51:0d: +- 58:e0:2d:08:86:49:62:84:85:da:8f:9e:cd:1a:f7:11:b5:a1: +- 58:56:d8:eb:a7:99:2d:1b:df:98:65:9f:8f:ab:9b:e0:32:95: +- 23:20:cf:82 ++ 51:bd:1f:2d:64:cb:8c:d3:02:f2:ff:7e:65:3a:fa:78:4c:4b: ++ 65:5c:8a:75:49:24:df:14:17:6b:84:a2:6a:e1:b8:d6:84:74: ++ 22:7c:e3:bc:3e:7d:81:c7:2a:df:d6:bc:7b:be:44:a7:26:63: ++ 1d:09:c1:ea:25:85:4b:14:b3:2f:f8:a5:28:f4:72:36:fc:71: ++ d0:c9:8d:b2:b3:d6:88:2a:4e:98:f2:22:fa:cb:c8:4d:7b:c0: ++ 3b:81:f1:dd:f9:29:bd:f4:69:a4:82:87:c6:3b:4f:2f:75:3d: ++ fc:a3:6f:b0:10:80:b4:c5:51:9b:b8:5e:9d:cc:21:38:bc:e9: ++ 54:11:76:d8:df:46:88:f5:02:b3:6a:02:e2:8c:cd:d8:f7:4e: ++ ff:fd:5f:e3:b9:db:52:cb:54:39:29:9a:e6:07:84:ea:38:3f: ++ 3d:4c:87:ce:6c:5f:c8:18:56:8a:54:8e:6a:d3:f2:77:34:a6: ++ 6d:f3:5a:51:8a:0d:23:bd:7e:01:07:af:0e:fd:97:73:64:27: ++ 26:cc:34:d8:1f:f3:58:8b:7f:4b:75:df:39:ff:92:dc:e3:04: ++ ea:42:7c:11:7f:77:ab:32:29:c7:59:7e:5d:84:2d:cd:1d:2c: ++ 61:d4:be:5d:9b:0e:30:2b:31:7e:4f:e6:07:e7:20:10:18:56: ++ 36:97:19:b3 + -----BEGIN CERTIFICATE----- +-MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR4wDQYJKoZIhvcNAQEL +-BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx +-DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 +-aWZpY2F0ZTAeFw0xOTA3MDExMjEwNTlaFw0yMDA2MzAxMjEwNTlaMHsxCzAJBgNV +-BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK +-DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz +-dCBzZXJ2ZXIgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +-AoIBAQCzty1oYgjJW5AliZhMbgT0Xf/nThg322OrVtV+Or43zeZawnOnJKj5Gr8F +-5hRfMX/0c4ucwonl/dlblKmntEimsJXSYhSzFUcmg2ljmbZIyvLvvR7eI0znKFQT +-ygNJywemfedInQOIXTtHUPYXITQVxc1PQPnKEtu2UwwIw6ALaAMNRZ9PJsMjP+9v +-SpgNaiu1SiPjiQi9wDfv276CTSZHk/TePwTvPNOX48TFZZ4v+YoT8nQSq/+Znu/Y +-SBFVuvKXbgR1DuQYhTQgodrbYDWYDtBEJxeB0WpakyhHxE83JnLb2ampwuWQFsNJ +-iWdoD+fdX6cpJmKlx2MPG/acuIbFAgMBAAGjUzBRMB0GA1UdDgQWBBRQDVM/N0wt +-7vD3Z0hTNhjIUGVgOzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP +-BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAXvmq8qfBa2XK9O4P5 +-4e/ro7O0nOD9mq3B4hILn/rKmhS1Q5ZQ2lCxQpwVh1ayXdXOTtwOqZgLBW5XypkP +-KJzVt9LBl9pfNLHyc0wnOcxAhoBjGHTjD8cCbXaYpiq14xOP2FxCjjPF3Q68BZCW +-mrje1URXR3DJJgpLlgqV3o609h+OlkEd1mUoHPNtPbGyOMf2ufP+pJj+RUbSBKNA +-dl8932Bx3Yq9g7O+VIf1341A6GjBkJDc3hvjLEUrUFOylR/I6q1yXVuUIevTFEpB +-f8SqiEGoH2H7UQ1Y4C0IhklihIXaj57NGvcRtaFYVtjrp5ktG9+YZZ+Pq5vgMpUj +-IM+C ++MIIDdTCCAl0CAQEwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV ++BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj ++bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj ++ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUwNDFaFw0zMDA1MTAwNzUwNDFaMIGCMQsw ++CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 ++cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 ++U1FMIENSTCB0ZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB ++BQADggEPADCCAQoCggEBAPZD1Ts3hp9Up5YjxpBzost5vHcaGNyuMDZcQeWn0LyT ++CH57LJoAv50Pq4JW5q3xOmriSV0CWQ4DEGOxg/lzGUDsiqAeF8lTdMrKKy96h5jc ++EubI2W47vNPF8/T6FOJaEvI6eYK3qW8h9sd5oMdWBagBZOjwZ4EpryHcCAKOuM84 ++8e+m6hgUQ2Mh6KP+eHi58gRqyDJIZk5uTyIoiUInQuX0djh3gIgtc8g2qyRAaPw0 ++g7ocB5njPWlJCM1PdINOM1rEh2V/hNxzgJNVIVpNhpewipPRvGPFGbCKd4WvyXTP ++3UsXjM9isLwaOz+0GGvnrU5Wyym+MU/uO4mX1vq9WysCAwEAATANBgkqhkiG9w0B ++AQsFAAOCAQEAUb0fLWTLjNMC8v9+ZTr6eExLZVyKdUkk3xQXa4SiauG41oR0Inzj ++vD59gccq39a8e75EpyZjHQnB6iWFSxSzL/ilKPRyNvxx0MmNsrPWiCpOmPIi+svI ++TXvAO4Hx3fkpvfRppIKHxjtPL3U9/KNvsBCAtMVRm7hencwhOLzpVBF22N9GiPUC ++s2oC4ozN2PdO//1f47nbUstUOSma5geE6jg/PUyHzmxfyBhWilSOatPydzSmbfNa ++UYoNI71+AQevDv2Xc2QnJsw02B/zWIt/S3XfOf+S3OME6kJ8EX93qzIpx1l+XYQt ++zR0sYdS+XZsOMCsxfk/mB+cgEBhWNpcZsw== + -----END CERTIFICATE----- +diff --git a/mysql-test/std_data/crl-server-key.pem b/mysql-test/std_data/crl-server-key.pem +index 2931329d242..dfc34c9ebac 100644 +--- a/mysql-test/std_data/crl-server-key.pem ++++ b/mysql-test/std_data/crl-server-key.pem +@@ -1,27 +1,27 @@ + -----BEGIN RSA PRIVATE KEY----- +-MIIEogIBAAKCAQEAs7ctaGIIyVuQJYmYTG4E9F3/504YN9tjq1bVfjq+N83mWsJz +-pySo+Rq/BeYUXzF/9HOLnMKJ5f3ZW5Spp7RIprCV0mIUsxVHJoNpY5m2SMry770e +-3iNM5yhUE8oDScsHpn3nSJ0DiF07R1D2FyE0FcXNT0D5yhLbtlMMCMOgC2gDDUWf +-TybDIz/vb0qYDWortUoj44kIvcA379u+gk0mR5P03j8E7zzTl+PExWWeL/mKE/J0 +-Eqv/mZ7v2EgRVbryl24EdQ7kGIU0IKHa22A1mA7QRCcXgdFqWpMoR8RPNyZy29mp +-qcLlkBbDSYlnaA/n3V+nKSZipcdjDxv2nLiGxQIDAQABAoIBAArXuGOd1o3feljp +-bkjeMmpT6YaZDZkBIYhK2uKcxLE1OPqs1LF24sL0vCWs9fmwUNn8xqWUjyFTKXP/ +-CiVWGTQFX2SsCjerxvkp4Ifj1D2cEQAp1tzsIE2p/ziabYxcNX/0BKo63uWxSkxJ +-NC+9DxlpL7PiZa+tZ5gedpFozBUj/XjWTLmekqGUjLf4I0b1bWyekp3o5Xpb0bVK +-aic708sTzkBAq7kiwzCAE6q2xjT9d61WoFfKoG/X64Y0kIynwIBrFvX4g8+NcY4D +-nTxOw1AwOAPRE/aG+BA1jgi6Uz1IdPl59lHWadVD6O4B8otRFPYBH4yeGBxzsVoS +-eqwd9RkCgYEA2R8qQF3Wk/BPu6ztGqLe/5FyuxQlYjjIXyiiStjArjE2B0X+G9I3 +-qL3DQNdD242VdcdwQswKQ7jI9hUDh53dE/Tg2v1ib/x57Su6nsIjVE7LZA9WsAM9 +-6BF5+Y/+siLZDw91nRao/z7hx0+9VcHgBA9dhe+LKHcxoDRxPXO1nFMCgYEA0+VR +-AfmEOQe98OjEnK561P2kcK1+n7RoHApr2+x+74wZNn5LygxqBLNT6WYCn47b8WoD +-Ly1RkLpavjCNAMTs8er2WOvb/X4+vf4FdE1K469UwtUNBPqRAqmXrXgrZOgJZDDx +-duXtP0wLRrJDKcgjLpRALxjeYowWvrnJn3uVrYcCgYBE+PyAFA89UcLSeL2dj43N +-nBPZUC4MBMPKTus3YaHb9DAYoWh2yBH8XcPwDjI1RcXr8147Kfw8xS+51LUZWNHJ +-LCpeBs5FiuvkptaS5lM4zgsYjzLXmUAKP7sCx3Z+ekl/2kZfj7pB02T/3tnjq0IR +-qBvql00anrq6DM7IWcCglwKBgCYgTMMeMjxQuExwlW/btR49xSjBDteNjm39MgsQ +-MobHnoG/l8NzGGBgI+kLAc3T1p9Jg+kpLlPsNAeklLpetIOS02CMj7i8zm1BF5ol +-jiQJmCa2TvFmZFEmUrRTuvsdBROR+uB53oZVGHJQAOWzrSDka+gNgXYZ3r3SkASy +-J+xhAoGAZDfOH5UvaMbLxZOV3NgW7P8wiHmshSfsJLdAsLPIBPJQ9ZCdW9oJwe3t +-b1b0O5pbyGX+wtaol03G7vEFuD6ptRSfH127qKjoAZUTZ6IAmyDBe9kx4giA+n08 +-3xyYLSxoMe+RYfF5BuBTc3g7X5/APTr9yG/Une40xiK2QOGSut0= ++MIIEowIBAAKCAQEA9kPVOzeGn1SnliPGkHOiy3m8dxoY3K4wNlxB5afQvJMIfnss ++mgC/nQ+rglbmrfE6auJJXQJZDgMQY7GD+XMZQOyKoB4XyVN0ysorL3qHmNwS5sjZ ++bju808Xz9PoU4loS8jp5grepbyH2x3mgx1YFqAFk6PBngSmvIdwIAo64zzjx76bq ++GBRDYyHoo/54eLnyBGrIMkhmTm5PIiiJQidC5fR2OHeAiC1zyDarJEBo/DSDuhwH ++meM9aUkIzU90g04zWsSHZX+E3HOAk1UhWk2Gl7CKk9G8Y8UZsIp3ha/JdM/dSxeM ++z2KwvBo7P7QYa+etTlbLKb4xT+47iZfW+r1bKwIDAQABAoIBAHF3R6QFLW30H1M6 ++IJ8l6HhAGun1iEcFqwkg8OvTqoV4aY19S0uZ1K+VLLzdNWQnpXbh1FOaZVXja4XD ++oL8qnRQg6K5lryf/3+wfwk4Z8qgnnj3fhO8ZbyNULddN8ploTxp0ftAPt22RBJdc ++Hww5Qlnqaog5XDdS8XJ0YuxqvhQbjVk/U6e7IltruByFv9bzYiT+QsZf/KJ/mDlk ++ypR/Ic9RM5eqX/86lDxrBacilE/8nBCFUbr7RlnXJhgEKf0DCYJTN2BS+4iwydaA ++TP6a/gZK64Q0JR9BGmYjAtPdl4as3pHlgi7LwIQeF97KwW9mZdAC1L/9FCu9W1Bk ++sOGBAiECgYEA/etLZdqrX5OqymN49PyEb8sQzTWojavLKrZiU6uKlPJH3qjWlu9J ++dlwW4azsgrYL2ISlAbgCo/QZ9H08CrHdumh9EQtYcZtszjjwicag5NtK1NboeZjR ++R0aJBVkNu2xkREEPd2XLNkm+U/FZ5HueGnphkGP/hWLTI+7M/abPAh0CgYEA+Eh7 ++A1C3PgcqLSMjXq9axLjJ23o10AAp/H+aogb7LAyKNvkT16Tw+5DSsB2hDbETKxSg ++aQD/9N/bjiGHnK0CaEi/ft4vYoIzrRpQwgst90jRZfwgJyA4wCRfcPaKSa5y8jQm ++OwSetRTO5gKJirNZbxkzSBwaRBTWZRy1Vouhz+cCgYEA1FO3Prq15zxB6u93K9Uk ++oZ76s76U7bKkN1k/q5ucTKS0eHpSxu/dTD4BXEEPnNXB3hI9MMzAWH08XveCB6do ++NAI/4srL8GP5fhCbA3q2++hsEMKMr3GcPq+60GABXaJrza9h0YOrg//ySZtegfLk ++6FtBzk3wU4ep6zg67jhYjfkCgYAgb8eybS8jaWg3MWoDisE/Bi1JATRakkrp8/nN ++xT+3R4QfHndbKu9YzljYLWbHFSU98ZnrXfgSk9RpQzQmYev4l9h8yKZEJmJ98Pwv ++/anprpe8zS2eLvV7FMVrSqpSafoWbn24JChf2/IT1q0Fc9zxSMeMWi+MSXShDRkb ++z246bQKBgC4sdYIG51PQaP/1vqPZg7CoCsNCepqM8UAnQ7piEdGis+w8pIcmYRnG ++Q/OuCdSxVlgS0xDtuFlTMrivUfpsPrgEtQNwkkvWATytYZWL2CpvDKKV2GzgHai/ ++ZgiuN7FSqdLq/hRCuJT5Sxo84ilFXb0i0cpaPKfNfE9gLZ8pUbsm + -----END RSA PRIVATE KEY----- +diff --git a/mysql-test/std_data/crldir/5df06fcb.r0 b/mysql-test/std_data/crldir/5df06fcb.r0 +new file mode 100644 +index 00000000000..1ee040e4bb0 +--- /dev/null ++++ b/mysql-test/std_data/crldir/5df06fcb.r0 +@@ -0,0 +1,13 @@ ++-----BEGIN X509 CRL----- ++MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE ++CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs ++ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl ++cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN ++MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB ++AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe ++NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp ++yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN ++JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx ++gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ ++O7qaJAAfPHo4vea1uEXjM9PJ ++-----END X509 CRL----- +diff --git a/mysql-test/std_data/crldir/b23bb52f.r0 b/mysql-test/std_data/crldir/b23bb52f.r0 +deleted file mode 100644 +index b0093e74369..00000000000 +--- a/mysql-test/std_data/crldir/b23bb52f.r0 ++++ /dev/null +@@ -1,13 +0,0 @@ +------BEGIN X509 CRL----- +-MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE +-CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM +-HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y +-OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy +-MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 +-IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 +-wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu +-SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc +-SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B +-WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 +-dRhzrDB6GMxR +------END X509 CRL----- diff --git a/community-mysql.spec b/community-mysql.spec index 4e64792..fe36bfc 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -66,8 +66,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.20 -Release: 3%{?with_debug:.debug}%{?dist} +Version: 8.0.21 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -105,6 +105,7 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch +Patch76: %{pkgnamepatch}-certs-expired.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -159,6 +160,7 @@ BuildRequires: perl(File::Find) BuildRequires: perl(File::Spec) BuildRequires: perl(File::Spec::Functions) BuildRequires: perl(File::Temp) +BuildRequires: perl(FindBin) BuildRequires: perl(Data::Dumper) BuildRequires: perl(Getopt::Long) BuildRequires: perl(if) @@ -339,6 +341,7 @@ Requires: perl(Env) Requires: perl(Exporter) Requires: perl(Fcntl) Requires: perl(File::Temp) +Requires: perl(FindBin) Requires: perl(Data::Dumper) Requires: perl(Getopt::Long) Requires: perl(IPC::Open3) @@ -373,6 +376,7 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 +%patch76 -p1 # Patch Boost pushd boost/boost_1_??_0 @@ -394,6 +398,9 @@ add_test clone.remote_dml_no_binlog failed since 8.0.17 add_test auth_sec.keyring_file_data_qa sporadic since 8.0.19 add_test collations.chinese sporadic since 8.0.19 +# Fails when -DENABLED_LOCAL_INFILE=ON +add_test main.mysql_load_data_local_dir local infile on + # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 add_test gis.st_latitude @@ -850,6 +857,9 @@ fi %endif %changelog +* Fri Jul 17 2020 Lars Tangvald - 8.0.21-1 +- Update to MySQL 8.0.21 + * Sun Jun 14 2020 Adrian Reber - 8.0.20-3 - Rebuilt for protobuf 3.12 diff --git a/sources b/sources index 34d177d..53123a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.20.tar.gz) = 7a962e9ddec7069008c5ab6ac2801515e2661ca2875afc6141541c03e2f941f4255b3c0d806a4df2fd2f2f1d12323aeb1e456c1d364777a18ccebefad7b22a99 +SHA512 (mysql-boost-8.0.21.tar.gz) = 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 From b98f39f5d76af4ffae6e50475114869ea27a1e81 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 27 Jul 2020 10:38:20 +0200 Subject: [PATCH 250/274] Add failing tests --- community-mysql.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index fe36bfc..81360b6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -434,6 +434,12 @@ add_test main.lock_multi_bug38499 add_test main.window_std_var add_test main.window_std_var_optimized add_test main.with_recursive + +# Fails since 8.0.21 +add_test x.resource_groups +add_test gis.spatial_operators_symdifference +add_test gis.spatial_operators_union + %endif From 30e914fbcd86e511ccef0d62e8181a851193ed9c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 14:23:37 +0000 Subject: [PATCH 251/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 81360b6..66744a1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.21 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -863,6 +863,9 @@ fi %endif %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 8.0.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jul 17 2020 Lars Tangvald - 8.0.21-1 - Update to MySQL 8.0.21 From e0b1fcc4e09635cfa901a7718ddcb242692200f2 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 1 Aug 2020 00:26:03 +0000 Subject: [PATCH 252/274] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 66744a1..5587cc9 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.21 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -863,6 +863,10 @@ fi %endif %changelog +* Sat Aug 01 2020 Fedora Release Engineering - 8.0.21-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 8.0.21-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 4d636e8bff2d12f356f161c60f6a14fa83529717 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Thu, 6 Aug 2020 11:12:05 -0600 Subject: [PATCH 253/274] Disable LTO properly --- community-mysql.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5587cc9..044efa6 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -67,7 +67,7 @@ Name: community-mysql Version: 8.0.21 -Release: 3%{?with_debug:.debug}%{?dist} +Release: 4%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -450,6 +450,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build +# This package internally tries to eliminate LTO flags +# but fails miserably. Just disable for the whole package +# until the package internals are fixed +%define _lto_cflags %{nil} %{set_build_flags} # fail quickly and obviously if user tries to build as root @@ -863,6 +867,9 @@ fi %endif %changelog +* Thu Aug 06 2020 Jeff Law - 8.0.21-4 +- Disable LTO + * Sat Aug 01 2020 Fedora Release Engineering - 8.0.21-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 784581a853cb63b528fb6f2094402ecbe8ae0f4d Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Aug 2020 08:40:13 +0200 Subject: [PATCH 254/274] Check that we have correct versions in bundled(*) Provides --- community-mysql.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 044efa6..a385530 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -39,6 +39,8 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug +%global boost_bundled_version 1.72.0 + # Include files for systemd %global daemon_name mysqld %global daemon_no_prefix mysqld @@ -67,7 +69,7 @@ Name: community-mysql Version: 8.0.21 -Release: 4%{?with_debug:.debug}%{?dist} +Release: 5%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -189,7 +191,8 @@ BuildRequires: systemd Requires: bash coreutils grep Requires: %{name}-common%{?_isa} = %{sameevr} -Provides: bundled(boost) = 1.69 +Provides: bundled(boost) = %{boost_bundled_version} + %if %{with mysql_names} Provides: mysql = %{sameevr} @@ -379,7 +382,7 @@ the MySQL sources. %patch76 -p1 # Patch Boost -pushd boost/boost_1_??_0 +pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) %patch115 -p0 %patch125 -p1 popd @@ -867,6 +870,9 @@ fi %endif %changelog +* Wed Aug 12 2020 Honza Horak - 8.0.21-5 +- Check that we have correct versions in bundled(*) Provides + * Thu Aug 06 2020 Jeff Law - 8.0.21-4 - Disable LTO From d4f8a16cb15d05ef0bd62e3da4609aff73c18c8a Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Wed, 12 Aug 2020 08:42:37 +0200 Subject: [PATCH 255/274] Remove re2 dependency that is not needed any more --- community-mysql.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index a385530..5d29f95 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -139,7 +139,6 @@ BuildRequires: libtirpc-devel %endif BuildRequires: protobuf-lite-devel BuildRequires: rapidjson-devel -BuildRequires: re2-devel BuildRequires: zlib BuildRequires: zlib-devel BuildRequires: multilib-rpm-config @@ -872,6 +871,7 @@ fi %changelog * Wed Aug 12 2020 Honza Horak - 8.0.21-5 - Check that we have correct versions in bundled(*) Provides +- Remove re2 dependency that is not needed any more * Thu Aug 06 2020 Jeff Law - 8.0.21-4 - Disable LTO From 218698f77bb3c2f7b165bccba27b9bec4cf73ccf Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Aug 2020 01:23:52 +0200 Subject: [PATCH 256/274] Do a proper out-of-source CMake 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 --- community-mysql.spec | 67 ++++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 34 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5d29f95..4c4f6aa 100644 --- a/community-mysql.spec +++ b/community-mysql.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 + # Name of the package without any prefixes %global pkg_name %{name} %global pkgnamepatch community-mysql @@ -69,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 5%{?with_debug:.debug}%{?dist} +Release: 6%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -444,8 +448,7 @@ add_test gis.spatial_operators_union %endif - - +# mysql-test popd cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ @@ -456,7 +459,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ # but fails miserably. Just disable for the whole package # until the package internals are fixed %define _lto_cflags %{nil} -%{set_build_flags} # fail quickly and obviously if user tries to build as root %if %runselftest @@ -468,12 +470,9 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ fi %endif -# build out of source -mkdir -p build && pushd build - # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. -cmake .. \ +%cmake \ -DBUILD_CONFIG=mysql_release \ -DFEATURE_SET="community" \ -DINSTALL_LAYOUT=RPM \ @@ -513,7 +512,7 @@ cmake .. \ %endif -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ - -DWITH_BOOST=../boost \ + -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ -DCMAKE_CXX_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -527,27 +526,24 @@ cmake .. \ # Note: linking with GOLD disabled on Armv7hl because of https://bugs.mysql.com/bug.php?id=96698 -cmake .. -LAH +cmake -B %{_vpath_builddir} -LAH -make %{?_smp_mflags} VERBOSE=1 - -popd +%cmake_build %install -pushd build -make DESTDIR=%{buildroot} install +%cmake_install # 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 +install -p -m 0755 %{_vpath_builddir}/scripts/mysql_config_multilib %{buildroot}%{_bindir}/mysql_config fi # 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 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ -install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 %{_vpath_builddir}/Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ +install -p -m 0644 %{_vpath_builddir}/Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ mkdir -p %{buildroot}%{logfiledir} @@ -557,21 +553,21 @@ install -p -m 0750 -d %{buildroot}%{_localstatedir}/lib/mysql-files install -p -m 0700 -d %{buildroot}%{_localstatedir}/lib/mysql-keyring %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 %endif # 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 0644 scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_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 +install -D -p -m 0644 %{_vpath_builddir}/scripts/mysql.tmpfiles.d %{buildroot}%{_tmpfilesdir}/%{daemon_name}.conf rm -r %{buildroot}%{_tmpfilesdir}/mysql.conf # helper scripts for service starting -install -D -p -m 755 scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir -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 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common -install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf +install -D -p -m 755 %{_vpath_builddir}/scripts/mysql-prepare-db-dir %{buildroot}%{_libexecdir}/mysql-prepare-db-dir +install -p -m 755 %{_vpath_builddir}/scripts/mysql-wait-stop %{buildroot}%{_libexecdir}/mysql-wait-stop +install -p -m 755 %{_vpath_builddir}/scripts/mysql-check-socket %{buildroot}%{_libexecdir}/mysql-check-socket +install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common +install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf rm %{buildroot}%{_libdir}/mysql/*.a rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server @@ -596,15 +592,12 @@ ln -s %{_libexecdir}/mysqld %{buildroot}%{_sbindir}/mysqld mv %{buildroot}%{_bindir}/mysqld-debug %{buildroot}%{_libexecdir}/mysqld %endif -# Back to src dir -popd - # 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 %{SOURCE6} %{_vpath_srcdir}/%{basename:%{SOURCE6}} +install -p -m 0644 %{SOURCE7} %{_vpath_srcdir}/%{basename:%{SOURCE7}} # Install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test +install -p -m 0644 %{_vpath_srcdir}/mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test %if %{without clibrary} unlink %{buildroot}%{_libdir}/mysql/libmysqlclient.so @@ -656,7 +649,7 @@ rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %check %if %{with test} %if %runselftest -pushd build +pushd %_vpath_builddir make test VERBOSE=1 pushd mysql-test cp ../../mysql-test/%{skiplist} . @@ -869,6 +862,12 @@ fi %endif %changelog +* Thu Aug 13 2020 Michal Schorm - 8.0.21-6 +- Do a proper out-of-source CMake 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 + * Wed Aug 12 2020 Honza Horak - 8.0.21-5 - Check that we have correct versions in bundled(*) Provides - Remove re2 dependency that is not needed any more From 09043094506868da91c3bd04c5e939d265662659 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 13 Aug 2020 10:17:41 +0200 Subject: [PATCH 257/274] Remove ancient obsoletes --- community-mysql.spec | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4c4f6aa..3a28135 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -205,8 +205,6 @@ Provides: mysql-compat-client%{?_isa} = %{sameevr} %endif %{?with_conflicts:Conflicts: mariadb} -# mysql-cluster used to be built from this SRPM, but no more -Obsoletes: mysql-cluster < 5.1.44 # Filtering: https://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering %global __requires_exclude ^perl\\((hostnames|lib::mtr|lib::v1|mtr_|My::) @@ -304,9 +302,7 @@ Provides: mysql-server = %{sameevr} Provides: mysql-server%{?_isa} = %{sameevr} Provides: mysql-compat-server = %{sameevr} Provides: mysql-compat-server%{?_isa} = %{sameevr} -Obsoletes: mysql-bench < 5.7.8 %endif -Obsoletes: community-mysql-bench < 5.7.8 %{?with_conflicts:Conflicts: mariadb-server} %{?with_conflicts:Conflicts: mariadb-galera-server} @@ -867,6 +863,7 @@ fi - 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 +- Remove ancient obsoletes * Wed Aug 12 2020 Honza Horak - 8.0.21-5 - Check that we have correct versions in bundled(*) Provides From c10b1b71d60a4e6009bd0237899a488e1310b2a2 Mon Sep 17 00:00:00 2001 From: Lars Tangvald Date: Mon, 17 Aug 2020 13:54:35 +0200 Subject: [PATCH 258/274] Enable LTO --- community-mysql-lto.patch | 119 ++++++++++++++++++++++++++++++++++++++ community-mysql.spec | 14 +++-- 2 files changed, 129 insertions(+), 4 deletions(-) create mode 100644 community-mysql-lto.patch diff --git a/community-mysql-lto.patch b/community-mysql-lto.patch new file mode 100644 index 0000000..6155ae0 --- /dev/null +++ b/community-mysql-lto.patch @@ -0,0 +1,119 @@ +commit dfd43f7d5527680fd27a29c80e8eb3b9b5165220 +Author: Tor Didriksen +Date: Mon Aug 3 16:39:21 2020 +0200 + + Bug #31701553 CMAKE CODE TO DISABLE LTO IS TOO SIMPLE + + Parts of our codebase (3rd party libraries) fail to compile/link if built with -flto. + For these we simply remove "-flto[=n|auto|jobserver] from + CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. + + We also disable linkers lld and gold by default if building with + link-time optimization. + + Change-Id: I84e9f7128a4d263056aa60c188e6430ea7161655 + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index dc118b37472..919e7cbd783 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -639,6 +639,10 @@ OPTION(WITH_LTO + ${WITH_LTO_DEFAULT} + ) + ++IF(CMAKE_C_FLAGS MATCHES " -flto" OR CMAKE_CXX_FLAGS MATCHES " -flto") ++ SET(CMAKE_COMPILER_FLAG_WITH_LTO 1) ++ENDIF() ++ + include(CheckCSourceCompiles) + include(CheckCXXSourceCompiles) + # We need some extra FAIL_REGEX patterns +@@ -848,7 +852,7 @@ ENDIF() + # Use lld for Clang if available and not explicitly disabled. + # Also works for gcc on Debian/Ubuntu. Do 'apt install lld'. + # LTO build fails with lld, so turn it off by default. +-IF(LINUX AND NOT WITH_LTO) ++IF(LINUX AND NOT WITH_LTO AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) + OPTION(USE_LD_LLD "Use llvm lld linker" ON) + ELSE() + OPTION(USE_LD_LLD "Use llvm lld linker" OFF) +@@ -879,7 +883,11 @@ IF(USE_LD_LLD) + ENDIF() + + # Use gold on x86 if available and not explicitly disabled. +-IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT WIN32) ++# LTO build fails with gold, so turn it off by default. ++IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" ++ AND NOT WIN32 ++ AND NOT WITH_LTO ++ AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) + OPTION(USE_LD_GOLD "Use GNU gold linker" ON) + ELSE() + OPTION(USE_LD_GOLD "Use GNU gold linker" OFF) +diff --git a/cmake/compile_flags.cmake b/cmake/compile_flags.cmake +index 053e48b9e70..bb1338ee9f8 100644 +--- a/cmake/compile_flags.cmake ++++ b/cmake/compile_flags.cmake +@@ -1,4 +1,4 @@ +-# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2014, 2020, Oracle and/or its affiliates. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License, version 2.0, +@@ -83,3 +83,12 @@ FUNCTION(ADD_COMPILE_DEFINITIONS) + ${FILE} PROPERTIES COMPILE_DEFINITIONS "${DEFS}") + ENDFOREACH() + ENDFUNCTION() ++ ++# -flto[=n] or -flto=auto or -flto=jobserver ++SET(MY_COMPILER_FLAG_FLTO " -flto(=[0-9a-z]+)?") ++ ++# Remove compiler flag/pattern from CMAKE_C_FLAGS or CMAKE_CXX_FLAGS ++FUNCTION(REMOVE_CMAKE_COMPILER_FLAGS FLAG_VAR PATTERN) ++ STRING(REGEX REPLACE "${PATTERN}" "" ${FLAG_VAR} "${${FLAG_VAR}}") ++ SET(${FLAG_VAR} "${${FLAG_VAR}}" PARENT_SCOPE) ++ENDFUNCTION() +diff --git a/extra/icu/CMakeLists.txt b/extra/icu/CMakeLists.txt +index aa1cfb1a90e..81ef19335a0 100644 +--- a/extra/icu/CMakeLists.txt ++++ b/extra/icu/CMakeLists.txt +@@ -1,4 +1,4 @@ +-# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2017, 2020, Oracle and/or its affiliates. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License, version 2.0, +@@ -91,8 +91,10 @@ IF(MSVC AND NOT WIN32_CLANG) + STRING_APPEND(CMAKE_CXX_FLAGS " /wd4229") + ENDIF() + +-STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +-STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++IF(WITH_ICU STREQUAL "bundled") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") ++ENDIF() + + ADD_SUBDIRECTORY(source/common) + ADD_SUBDIRECTORY(source/i18n) +diff --git a/plugin/innodb_memcached/CMakeLists.txt b/plugin/innodb_memcached/CMakeLists.txt +index b9d93da5f20..00bbddeb3ec 100644 +--- a/plugin/innodb_memcached/CMakeLists.txt ++++ b/plugin/innodb_memcached/CMakeLists.txt +@@ -1,4 +1,4 @@ +-# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. ++# Copyright (c) 2011, 2020, Oracle and/or its affiliates. + # + # This program is free software; you can redistribute it and/or modify + # it under the terms of the GNU General Public License, version 2.0, +@@ -76,8 +76,8 @@ IF(WITH_INNODB_MEMCACHED AND UNIX) + ENDIF() + + # -Werror=lto-type-mismatch for misc functions. +- STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") +- STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") ++ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") + + ADD_SUBDIRECTORY(daemon_memcached) + ADD_SUBDIRECTORY(innodb_memcache) diff --git a/community-mysql.spec b/community-mysql.spec index 3a28135..0fd34e1 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 6%{?with_debug:.debug}%{?dist} +Release: 7%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -112,6 +112,7 @@ Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch76: %{pkgnamepatch}-certs-expired.patch +Patch77: %{pkgnamepatch}-lto.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -379,6 +380,7 @@ the MySQL sources. %patch55 -p1 %patch75 -p1 %patch76 -p1 +%patch77 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -451,10 +453,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build -# This package internally tries to eliminate LTO flags -# but fails miserably. Just disable for the whole package -# until the package internals are fixed +# arm build ends with out of memory error for LTO enabled build +%ifarch %arm %define _lto_cflags %{nil} +%endif # fail quickly and obviously if user tries to build as root %if %runselftest @@ -858,6 +860,10 @@ fi %endif %changelog +* Mon Aug 10 2020 Lars Tangvald - 8.0.21-7 +- Use upstream patch to enable LTO +- Skip LTO on ARM due to out of memory issue + * Thu Aug 13 2020 Michal Schorm - 8.0.21-6 - Do a proper out-of-source CMake builds - Force the CMake change regarding the in-source builds also to F31 and F32 From c7c5a5fec43f8dd75824cc44cb7ce6e791aa36bc Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 18 Aug 2020 08:48:27 +0200 Subject: [PATCH 259/274] I haven't encounter the ARM memory exaustion on Fedora build infrastructure Let's enable it and see how it will work --- community-mysql.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 0fd34e1..5bb07ec 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 7%{?with_debug:.debug}%{?dist} +Release: 8%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -453,10 +453,6 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build -# arm build ends with out of memory error for LTO enabled build -%ifarch %arm -%define _lto_cflags %{nil} -%endif # fail quickly and obviously if user tries to build as root %if %runselftest @@ -860,7 +856,11 @@ fi %endif %changelog -* Mon Aug 10 2020 Lars Tangvald - 8.0.21-7 +* Tue Aug 18 2020 Michal Schorm - 8.0.21-8 +- I haven't encounter the ARM memory exaustion on Fedora build infrastructure + Let's enable it and see how it will work + +* Mon Aug 17 2020 Lars Tangvald - 8.0.21-7 - Use upstream patch to enable LTO - Skip LTO on ARM due to out of memory issue From 1e4b405440455d20a993c08d6aa7b8a95c20db35 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 18 Aug 2020 10:28:33 +0200 Subject: [PATCH 260/274] I encounter the ARM memory exaustion in the end Looks like it is only issue on some machines --- community-mysql.spec | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5bb07ec..8e5bd2d 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 8%{?with_debug:.debug}%{?dist} +Release: 9%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -453,6 +453,10 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %{SOURCE14} %{SOURCE15} %{SOURCE17} %{SOURCE18} %{SOURCE31} scripts %build +# arm build ends with out of memory error for LTO enabled build +%ifarch %arm +%define _lto_cflags %{nil} +%endif # fail quickly and obviously if user tries to build as root %if %runselftest @@ -856,6 +860,10 @@ fi %endif %changelog +* Tue Aug 18 2020 Michal Schorm - 8.0.21-9 +- I encounter the ARM memory exaustion in the end + Looks like it is only issue on some machines + * Tue Aug 18 2020 Michal Schorm - 8.0.21-8 - I haven't encounter the ARM memory exaustion on Fedora build infrastructure Let's enable it and see how it will work From 3b646db22d211c900592bb57b02ce722df873d25 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Mon, 24 Aug 2020 23:22:57 +0200 Subject: [PATCH 261/274] Fix the filelist. A number of shared libraries in the plugindir are part of the testsuite and thus should reside in *-test subpackage It will be best to keep the file list explicit to avoid this in the future --- community-mysql.spec | 117 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 2 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 8e5bd2d..94e9574 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 9%{?with_debug:.debug}%{?dist} +Release: 10%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -794,7 +794,37 @@ fi %dir %{_datadir}/%{pkg_name} %endif -%{_libdir}/mysql/plugin +%dir %{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/adt_null.so +%{_libdir}/mysql/plugin/auth_socket.so +%{_libdir}/mysql/plugin/component_audit_api_message_emit.so +%{_libdir}/mysql/plugin/component_log_filter_dragnet.so +%{_libdir}/mysql/plugin/component_log_sink_json.so +%{_libdir}/mysql/plugin/component_log_sink_syseventlog.so +%{_libdir}/mysql/plugin/component_mysqlbackup.so +%{_libdir}/mysql/plugin/component_validate_password.so +%{_libdir}/mysql/plugin/connection_control.so +%{_libdir}/mysql/plugin/daemon_example.ini +%{_libdir}/mysql/plugin/ddl_rewriter.so +%{_libdir}/mysql/plugin/group_replication.so +%{_libdir}/mysql/plugin/ha_example.so +%{_libdir}/mysql/plugin/ha_mock.so +%{_libdir}/mysql/plugin/innodb_engine.so +%{_libdir}/mysql/plugin/keyring_file.so +%{_libdir}/mysql/plugin/keyring_udf.so +%{_libdir}/mysql/plugin/libmemcached.so +%{_libdir}/mysql/plugin/locking_service.so +%{_libdir}/mysql/plugin/mypluglib.so +%{_libdir}/mysql/plugin/mysql_clone.so +%{_libdir}/mysql/plugin/mysql_no_login.so +%{_libdir}/mysql/plugin/rewrite_example.so +%{_libdir}/mysql/plugin/rewriter.so +%{_libdir}/mysql/plugin/semisync_master.so +%{_libdir}/mysql/plugin/semisync_slave.so +%{_libdir}/mysql/plugin/validate_password.so +%{_libdir}/mysql/plugin/version_token.so +# List of plugins we don't ship but upstream does: +#%%{_libdir}/mysql/plugin/libpluginmecab.so %{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/myisamchk.1* @@ -857,9 +887,92 @@ fi %{_bindir}/mysqld_safe %{_bindir}/comp_err %attr(-,mysql,mysql) %{_datadir}/mysql-test + +%dir %{_libdir}/mysql/plugin +%{_libdir}/mysql/plugin/auth.so +%{_libdir}/mysql/plugin/auth_test_plugin.so +%{_libdir}/mysql/plugin/component_example_component1.so +%{_libdir}/mysql/plugin/component_example_component2.so +%{_libdir}/mysql/plugin/component_example_component3.so +%{_libdir}/mysql/plugin/component_log_sink_test.so +%{_libdir}/mysql/plugin/component_mysqlx_global_reset.so +%{_libdir}/mysql/plugin/component_pfs_example_component_population.so +%{_libdir}/mysql/plugin/component_pfs_example.so +%{_libdir}/mysql/plugin/component_test_audit_api_message.so +%{_libdir}/mysql/plugin/component_test_backup_lock_service.so +%{_libdir}/mysql/plugin/component_test_component_deinit.so +%{_libdir}/mysql/plugin/component_test_host_application_signal.so +%{_libdir}/mysql/plugin/component_test_mysql_current_thread_reader.so +%{_libdir}/mysql/plugin/component_test_mysql_runtime_error.so +%{_libdir}/mysql/plugin/component_test_pfs_notification.so +%{_libdir}/mysql/plugin/component_test_pfs_resource_group.so +%{_libdir}/mysql/plugin/component_test_status_var_service_int.so +%{_libdir}/mysql/plugin/component_test_status_var_service_reg_only.so +%{_libdir}/mysql/plugin/component_test_status_var_service.so +%{_libdir}/mysql/plugin/component_test_status_var_service_str.so +%{_libdir}/mysql/plugin/component_test_status_var_service_unreg_only.so +%{_libdir}/mysql/plugin/component_test_string_service_charset.so +%{_libdir}/mysql/plugin/component_test_string_service_long.so +%{_libdir}/mysql/plugin/component_test_string_service.so +%{_libdir}/mysql/plugin/component_test_system_variable_source.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_int.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_same.so +%{_libdir}/mysql/plugin/component_test_sys_var_service.so +%{_libdir}/mysql/plugin/component_test_sys_var_service_str.so +%{_libdir}/mysql/plugin/component_test_udf_registration.so +%{_libdir}/mysql/plugin/component_test_udf_services.so +%{_libdir}/mysql/plugin/component_udf_reg_3_func.so +%{_libdir}/mysql/plugin/component_udf_reg_avg_func.so +%{_libdir}/mysql/plugin/component_udf_reg_int_func.so +%{_libdir}/mysql/plugin/component_udf_reg_int_same_func.so +%{_libdir}/mysql/plugin/component_udf_reg_only_3_func.so +%{_libdir}/mysql/plugin/component_udf_reg_real_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_3_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_int_func.so +%{_libdir}/mysql/plugin/component_udf_unreg_real_func.so +%{_libdir}/mysql/plugin/libdaemon_example.so +%{_libdir}/mysql/plugin/libtest_framework.so +%{_libdir}/mysql/plugin/libtest_services.so +%{_libdir}/mysql/plugin/libtest_services_threaded.so +%{_libdir}/mysql/plugin/libtest_session_attach.so +%{_libdir}/mysql/plugin/libtest_session_detach.so +%{_libdir}/mysql/plugin/libtest_session_info.so +%{_libdir}/mysql/plugin/libtest_session_in_thd.so +%{_libdir}/mysql/plugin/libtest_sql_2_sessions.so +%{_libdir}/mysql/plugin/libtest_sql_all_col_types.so +%{_libdir}/mysql/plugin/libtest_sql_cmds_1.so +%{_libdir}/mysql/plugin/libtest_sql_commit.so +%{_libdir}/mysql/plugin/libtest_sql_complex.so +%{_libdir}/mysql/plugin/libtest_sql_errors.so +%{_libdir}/mysql/plugin/libtest_sql_lock.so +%{_libdir}/mysql/plugin/libtest_sql_processlist.so +%{_libdir}/mysql/plugin/libtest_sql_replication.so +%{_libdir}/mysql/plugin/libtest_sql_reset_connection.so +%{_libdir}/mysql/plugin/libtest_sql_shutdown.so +%{_libdir}/mysql/plugin/libtest_sql_sqlmode.so +%{_libdir}/mysql/plugin/libtest_sql_stmt.so +%{_libdir}/mysql/plugin/libtest_sql_stored_procedures_functions.so +%{_libdir}/mysql/plugin/libtest_sql_views_triggers.so +%{_libdir}/mysql/plugin/libtest_x_sessions_deinit.so +%{_libdir}/mysql/plugin/libtest_x_sessions_init.so +%{_libdir}/mysql/plugin/pfs_example_plugin_employee.so +%{_libdir}/mysql/plugin/qa_auth_client.so +%{_libdir}/mysql/plugin/qa_auth_interface.so +%{_libdir}/mysql/plugin/qa_auth_server.so +%{_libdir}/mysql/plugin/replication_observers_example_plugin.so +%{_libdir}/mysql/plugin/test_security_context.so +%{_libdir}/mysql/plugin/test_services_host_application_signal.so +%{_libdir}/mysql/plugin/test_services_plugin_registry.so +%{_libdir}/mysql/plugin/test_udf_services.so +%{_libdir}/mysql/plugin/udf_example.so %endif %changelog +* Mon Aug 24 2020 Michal Schorm - 8.0.21-10 +- Fix the filelist. A number of shared libraries in the plugindir + are part of the testsuite and thus should reside in *-test subpackage + It will be best to keep the file list explicit to avoid this in the future + * Tue Aug 18 2020 Michal Schorm - 8.0.21-9 - I encounter the ARM memory exaustion in the end Looks like it is only issue on some machines From 20de77ee9417738fc956ace3dc7c869138dd23d3 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 25 Aug 2020 05:06:42 +0200 Subject: [PATCH 262/274] Start building the MeCab plugin --- community-mysql.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index 94e9574..9d5ab9c 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 10%{?with_debug:.debug}%{?dist} +Release: 11%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -510,6 +510,7 @@ cp %{SOURCE2} %{SOURCE3} %{SOURCE10} %{SOURCE11} %{SOURCE12} \ %endif -DWITH_ROUTER=OFF \ -DWITH_SYSTEM_LIBS=ON \ + -DWITH_MECAB=system \ -DWITH_BOOST=boost \ -DREPRODUCIBLE_BUILD=OFF \ -DCMAKE_C_FLAGS="%{optflags}%{?with_debug: -fno-strict-overflow -Wno-unused-result -Wno-unused-function -Wno-unused-but-set-variable}" \ @@ -813,6 +814,7 @@ fi %{_libdir}/mysql/plugin/keyring_file.so %{_libdir}/mysql/plugin/keyring_udf.so %{_libdir}/mysql/plugin/libmemcached.so +%{_libdir}/mysql/plugin/libpluginmecab.so %{_libdir}/mysql/plugin/locking_service.so %{_libdir}/mysql/plugin/mypluglib.so %{_libdir}/mysql/plugin/mysql_clone.so @@ -823,8 +825,6 @@ fi %{_libdir}/mysql/plugin/semisync_slave.so %{_libdir}/mysql/plugin/validate_password.so %{_libdir}/mysql/plugin/version_token.so -# List of plugins we don't ship but upstream does: -#%%{_libdir}/mysql/plugin/libpluginmecab.so %{_mandir}/man1/ibd2sdi.1* %{_mandir}/man1/myisamchk.1* @@ -968,6 +968,9 @@ fi %endif %changelog +* Tue Aug 25 2020 Michal Schorm - 8.0.21-11 +- Start building the MeCab plugin + * Mon Aug 24 2020 Michal Schorm - 8.0.21-10 - Fix the filelist. A number of shared libraries in the plugindir are part of the testsuite and thus should reside in *-test subpackage From 2f05e65c4658e3242ee877c4b035285e5fcde81f Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Tue, 15 Sep 2020 18:01:08 +0200 Subject: [PATCH 263/274] Rebuild due to libevent soname change --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 9d5ab9c..4f3a7ea 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 11%{?with_debug:.debug}%{?dist} +Release: 12%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Tue Sep 15 2020 Michal Schorm - 8.0.21-12 +- Rebuild due to libevent soname change + * Tue Aug 25 2020 Michal Schorm - 8.0.21-11 - Start building the MeCab plugin From a0d81df2e21b09572a2da22104c0c90ea682d06a Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Wed, 23 Sep 2020 17:40:28 +0200 Subject: [PATCH 264/274] Rebuilt for protobuf 3.13 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 4f3a7ea..e7638bf 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 12%{?with_debug:.debug}%{?dist} +Release: 13%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Wed Sep 23 2020 Adrian Reber - 8.0.21-13 +- Rebuilt for protobuf 3.13 + * Tue Sep 15 2020 Michal Schorm - 8.0.21-12 - Rebuild due to libevent soname change From 2c54227b95e36a5de759c61b5600b3848808e07e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 1 Oct 2020 13:33:42 +0200 Subject: [PATCH 265/274] Rebuilt for libevent 2.1.12 (#2) See https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/QOQW2BJBYMTIEUQIAYVEIX2L5IIOHDZL/ --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index e7638bf..62426fb 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 13%{?with_debug:.debug}%{?dist} +Release: 14%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -968,6 +968,9 @@ fi %endif %changelog +* Thu Oct 1 13:33:42 CEST 2020 Zbigniew JÄ™drzejewski-Szmek - 8.0.21-14 +- Rebuilt for libevent 2.1.12 (again) + * Wed Sep 23 2020 Adrian Reber - 8.0.21-13 - Rebuilt for protobuf 3.13 From 7da55b4db316ad9398028479315a58e21ea3f72a Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 6 Oct 2020 14:16:11 -0600 Subject: [PATCH 266/274] Add missing #include for gcc-11 --- community-mysql-gcc11.patch | 13 +++++++++++++ community-mysql.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 community-mysql-gcc11.patch diff --git a/community-mysql-gcc11.patch b/community-mysql-gcc11.patch new file mode 100644 index 0000000..641ad2b --- /dev/null +++ b/community-mysql-gcc11.patch @@ -0,0 +1,13 @@ +index a826a081..00000000 +diff --git a/include/mysql/components/services/page_track_service.h b/include/mysql/components/services/page_track_service.h +index 103b5135..e6b3ba6f 100644 +--- a/include/mysql/components/services/page_track_service.h ++++ b/include/mysql/components/services/page_track_service.h +@@ -26,6 +26,7 @@ + + #include + #include ++#include + + #include + diff --git a/community-mysql.spec b/community-mysql.spec index 62426fb..59fcda5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 14%{?with_debug:.debug}%{?dist} +Release: 15%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -113,6 +113,7 @@ Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch Patch76: %{pkgnamepatch}-certs-expired.patch Patch77: %{pkgnamepatch}-lto.patch +Patch78: %{pkgnamepatch}-gcc11.patch # Patches taken from boost 1.59 Patch115: boost-1.58.0-pool.patch @@ -381,6 +382,7 @@ the MySQL sources. %patch75 -p1 %patch76 -p1 %patch77 -p1 +%patch78 -p1 # Patch Boost pushd boost/boost_$(echo %{boost_bundled_version}| tr . _) @@ -968,6 +970,9 @@ fi %endif %changelog +* Thu Oct 6 2020 Jeff Law - 8.0.21-15 +- Add missing #include for gcc-11 + * Thu Oct 1 13:33:42 CEST 2020 Zbigniew JÄ™drzejewski-Szmek - 8.0.21-14 - Rebuilt for libevent 2.1.12 (again) From 363f5a104e8b024f5b6a75ed7e273fafde68390d Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 20 Oct 2020 09:54:49 -0600 Subject: [PATCH 267/274] Fix another missing #include for gcc-11 --- community-mysql-gcc11.patch | 12 ++++++++++++ community-mysql.spec | 5 ++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/community-mysql-gcc11.patch b/community-mysql-gcc11.patch index 641ad2b..8a030a8 100644 --- a/community-mysql-gcc11.patch +++ b/community-mysql-gcc11.patch @@ -11,3 +11,15 @@ index 103b5135..e6b3ba6f 100644 #include +diff --git a/sql-common/sql_string.cc b/sql-common/sql_string.cc +index 40435729..8b6ee827 100644 +--- a/sql-common/sql_string.cc ++++ b/sql-common/sql_string.cc +@@ -23,6 +23,7 @@ + #include "sql_string.h" + + #include ++#include + + #include "my_dbug.h" + #include "my_macros.h" diff --git a/community-mysql.spec b/community-mysql.spec index 59fcda5..2af4381 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.21 -Release: 15%{?with_debug:.debug}%{?dist} +Release: 16%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -970,6 +970,9 @@ fi %endif %changelog +* Tue Oct 20 2020 Jeff Law - 8.0.21-16 +- Fix another missing #include for gcc-11 + * Thu Oct 6 2020 Jeff Law - 8.0.21-15 - Add missing #include for gcc-11 From f62df44e19919936e7c37c182cbf7d34e908e4a6 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 26 Oct 2020 09:23:18 +0100 Subject: [PATCH 268/274] Rebase to 8.0.22 community-mysql-certs-expired.patch and community-mysql-lto.patch was patched by upstream New zlib_decompress binary --- community-mysql-arm32-timer.patch | 12 +- community-mysql-certs-expired.patch | 964 ---------------------------- community-mysql-lto.patch | 119 ---- community-mysql-scripts.patch | 12 +- community-mysql.spec | 34 +- sources | 2 +- 6 files changed, 31 insertions(+), 1112 deletions(-) delete mode 100644 community-mysql-certs-expired.patch delete mode 100644 community-mysql-lto.patch diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch index c9af92a..5bc7f67 100644 --- a/community-mysql-arm32-timer.patch +++ b/community-mysql-arm32-timer.patch @@ -1,10 +1,8 @@ -diff --git a/mysql-test/include/mtr_warnings.sql b/mysql-test/include/mtr_warnings.sql -index 990fe81..c2e1b36 100644 ---- a/mysql-test/include/mtr_warnings.sql -+++ b/mysql-test/include/mtr_warnings.sql -@@ -292,6 +292,11 @@ INSERT INTO global_suppressions VALUES - */ - ("Channel mysql_main configured to support TLS"), +--- mysql-8.0.22/mysql-test/include/mtr_warnings.sql.old 2020-10-21 11:25:49.779775116 +0200 ++++ mysql-8.0.22/mysql-test/include/mtr_warnings.sql 2020-10-21 11:26:29.507185307 +0200 +@@ -299,6 +299,11 @@ + ("NOTIFY_SOCKET not set in environment. sd_notify messages will not be sent!"), + ("Invalid systemd notify socket, cannot send: "), + /* + ARM32 don't support timers and get this warning in every test. diff --git a/community-mysql-certs-expired.patch b/community-mysql-certs-expired.patch deleted file mode 100644 index 5adbb48..0000000 --- a/community-mysql-certs-expired.patch +++ /dev/null @@ -1,964 +0,0 @@ -commit 2f61a515fd7998f00fe329a9bf17392ae0c7187d -Author: Harin Vadodaria -Date: Wed Jul 1 12:11:52 2020 +0200 - - Bug#31562947: SSL TESTS ARE FAILING BECAUSE OF AN EXPIRED CERTIFICATE - - Description: Some of the certificates used for testing - CRL support are expired. This caused various - tests to failed. - - Fix: - Added new set of certificates - - Updated read-me for CRL generation - - RB: 24714 - -diff --git a/mysql-test/std_data/crl-ca-cert.pem b/mysql-test/std_data/crl-ca-cert.pem -index 1a40815f6a2..93c96eae026 100644 ---- a/mysql-test/std_data/crl-ca-cert.pem -+++ b/mysql-test/std_data/crl-ca-cert.pem -@@ -2,79 +2,80 @@ Certificate: - Data: - Version: 3 (0x2) - Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1d -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ bf:07:54:de:af:cf:c4:de -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 11:58:53 2019 GMT -- Not After : Jun 30 11:58:53 2022 GMT -- Subject: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Not Before: Jul 1 07:44:35 2020 GMT -+ Not After : Jun 29 07:44:35 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:c9:09:95:54:a0:91:fd:f9:26:2f:ca:c4:ce:4a: -- cc:25:72:44:34:f2:68:7a:4d:91:ab:1a:54:90:50: -- fc:14:8a:f2:5b:83:f3:68:c9:0e:bc:0f:dd:11:2f: -- 25:43:9e:d4:5a:cf:e0:2a:4f:63:d8:1d:de:ef:7d: -- 6b:14:4f:8f:2e:9a:44:b8:4f:41:b3:88:95:71:e2: -- cd:8b:22:96:7c:55:fb:39:1a:6b:18:05:18:2c:95: -- 15:9f:b0:e3:92:76:c5:c6:e3:3f:56:44:2d:fe:a5: -- 61:d7:47:db:84:be:08:19:d6:39:f3:4f:dd:6c:d9: -- ff:e1:c2:ba:78:2b:87:a8:32:02:e2:a9:e7:8a:14: -- bb:c5:7a:a8:33:ff:54:0b:5c:c6:20:cf:2e:e3:ee: -- f5:fe:4c:98:26:a5:fc:1a:4a:3f:62:8f:df:a6:31: -- d2:a0:f4:c8:04:dd:f5:b8:5e:6b:6c:c3:c4:c7:da: -- 80:19:2f:40:e1:df:7d:39:a0:9d:c7:fe:59:db:75: -- f1:5e:2f:da:07:7f:5f:ac:0b:18:eb:0f:61:a5:17: -- b1:9e:cb:d5:56:9a:b4:54:89:93:45:2b:90:7e:ef: -- c3:a2:36:d5:7f:64:aa:a2:79:23:74:8c:02:93:5b: -- da:dd:10:03:01:9e:84:49:4d:8f:32:75:f1:63:57: -- 88:19 -+ 00:c9:08:13:81:df:5a:aa:45:2a:82:1e:73:4f:d6: -+ 2f:6b:7a:78:41:a7:fb:ea:02:5c:30:15:95:6a:a4: -+ 60:6b:08:4c:7d:46:4f:1a:7c:14:67:c6:19:e0:bf: -+ c9:12:c3:96:7f:71:12:79:ba:a1:d2:51:1b:fb:f1: -+ 0f:43:9d:22:6d:7f:46:a7:94:0c:51:c2:25:ad:36: -+ c8:1c:59:45:91:e1:20:4d:5e:31:b1:33:b1:4b:2b: -+ a0:62:fb:8a:c6:ee:7e:84:77:d2:aa:23:f8:31:74: -+ d5:94:60:72:88:a7:3a:ec:f3:d8:80:28:36:c1:5a: -+ 7f:58:be:8c:d2:eb:9d:fb:22:de:ec:2c:d3:41:81: -+ b2:e4:91:e4:da:12:b2:84:0e:8f:f7:b0:1e:36:07: -+ 88:87:8e:1d:63:ad:1b:a5:31:39:d2:02:10:e0:97: -+ 21:3f:7e:e9:f1:a2:e8:c3:aa:ad:e3:bd:05:62:e1: -+ a2:8d:ed:d5:cd:d7:66:8a:2b:15:dd:e1:91:e2:75: -+ 18:c4:50:62:fb:a1:f9:96:93:af:84:78:f7:69:b6: -+ 7f:82:f7:c8:97:13:10:46:7b:de:a2:a9:c9:71:78: -+ f1:8e:a1:78:b5:e5:b7:dd:69:4d:8c:1b:ae:34:0e: -+ 5f:94:26:8e:81:b3:23:6e:1f:be:de:e0:e0:41:dc: -+ 71:49 - Exponent: 65537 (0x10001) - X509v3 extensions: - X509v3 Subject Key Identifier: -- A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -+ 43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 - X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -+ keyid:43:AB:3F:4D:D3:EB:37:3D:3D:2A:FE:BD:4E:C2:8A:DD:C9:E5:B1:B1 - -- X509v3 Basic Constraints: critical -+ X509v3 Basic Constraints: - CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 53:ce:08:79:96:94:22:9b:1f:8e:2f:3c:ad:7b:1f:0e:45:7e: -- 65:c1:c2:7f:46:f1:73:be:9c:e4:1b:2c:13:bd:bf:05:95:2b: -- 3c:6e:70:62:b2:14:1e:a6:60:e3:a7:b7:40:22:97:db:74:d1: -- fc:47:27:ba:de:89:50:7e:e1:3b:f5:3e:95:aa:01:e8:8a:e6: -- f9:49:48:97:d2:91:a0:1f:9d:82:b5:35:16:58:01:d1:82:1d: -- b4:dc:68:b9:1b:84:fb:e3:ec:06:a6:55:69:e9:84:69:7d:34: -- ba:dd:dd:57:15:1a:9e:d8:f4:c7:44:98:07:35:66:ec:a6:1e: -- 91:b8:a4:b2:9b:85:52:e8:98:e6:e8:28:8c:d4:1e:8e:45:50: -- 58:c9:68:fd:b4:4b:4f:b7:58:9f:45:7b:b1:12:ae:7d:70:0d: -- 4b:42:7e:46:d0:5a:d5:21:9f:f1:99:b6:21:75:34:7b:2a:d8: -- 45:2e:f9:4d:fa:b4:72:a8:9e:22:e6:66:4b:81:1d:8e:b2:54: -- f3:0f:02:17:68:7f:79:ca:df:a7:5d:17:70:50:bf:47:df:5a: -- 6a:e1:7f:af:ab:ca:54:86:ad:d8:35:c5:b8:f7:9d:72:0e:db: -- dc:0c:c3:08:2d:d1:9a:18:5c:c3:c1:64:7a:f3:9a:5a:6d:69: -- 12:e1:fd:c2 -+ 16:b8:f3:2a:4a:f7:82:7b:99:cb:40:20:a1:76:7a:2b:19:c9: -+ 4f:4f:90:b3:e4:7c:6e:42:28:c8:47:4b:37:12:ab:fa:64:ec: -+ d6:50:f8:2f:bd:61:cd:d6:09:96:d3:84:b1:e6:60:ae:99:ae: -+ 4a:1a:b1:34:a6:ee:b7:3b:1f:6f:cc:94:39:26:e4:9d:d2:02: -+ d9:75:ce:e7:dd:e9:3a:b2:c4:84:1a:75:0e:64:ce:32:7f:68: -+ 5b:81:b7:5e:18:bd:ac:56:69:1c:1a:a0:a1:61:85:f2:11:78: -+ 50:42:4e:e8:b8:67:8a:50:85:09:75:67:d9:09:e1:2a:61:64: -+ 24:1a:52:79:12:5c:d1:a5:53:5f:70:63:2b:30:fe:4e:e5:c6: -+ 3a:7c:f3:36:3e:7b:ab:6b:57:04:12:53:7e:dd:18:63:bf:25: -+ ae:b0:14:f8:93:bb:0a:a6:d4:7b:77:60:58:52:ee:9e:76:9c: -+ 63:ef:84:40:fd:5a:be:54:74:d7:b8:4a:85:09:a0:13:0e:75: -+ 75:e6:2c:73:1b:e3:94:ff:ad:73:0b:c6:e3:b0:68:56:ce:ff: -+ 8d:75:f4:9d:14:5c:05:a0:8d:ad:ab:96:aa:4f:58:cb:79:cf: -+ 5b:85:84:e7:4a:66:54:09:fd:da:c2:3a:3b:ee:3c:3c:0a:66: -+ 36:bc:a6:f0 - -----BEGIN CERTIFICATE----- --MIIDpzCCAo+gAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR0wDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMTU4NTNaFw0yMjA2MzAxMTU4NTNaMGMxCzAJBgNV --BAYTAklOMQswCQYDVQQIDAJLQTEPMA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVN --eVNRTDEmMCQGA1UEAwwdTXlTUUwgQ1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwggEi --MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJCZVUoJH9+SYvysTOSswlckQ0 --8mh6TZGrGlSQUPwUivJbg/NoyQ68D90RLyVDntRaz+AqT2PYHd7vfWsUT48umkS4 --T0GziJVx4s2LIpZ8Vfs5GmsYBRgslRWfsOOSdsXG4z9WRC3+pWHXR9uEvggZ1jnz --T91s2f/hwrp4K4eoMgLiqeeKFLvFeqgz/1QLXMYgzy7j7vX+TJgmpfwaSj9ij9+m --MdKg9MgE3fW4Xmtsw8TH2oAZL0Dh3305oJ3H/lnbdfFeL9oHf1+sCxjrD2GlF7Ge --y9VWmrRUiZNFK5B+78OiNtV/ZKqieSN0jAKTW9rdEAMBnoRJTY8ydfFjV4gZAgMB --AAGjUzBRMB0GA1UdDgQWBBSnLspTBVIGEr3t/8+4ujDneh+WRjAfBgNVHSMEGDAW --gBSnLspTBVIGEr3t/8+4ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 --DQEBCwUAA4IBAQBTzgh5lpQimx+OLzytex8ORX5lwcJ/RvFzvpzkGywTvb8FlSs8 --bnBishQepmDjp7dAIpfbdNH8Rye63olQfuE79T6VqgHoiub5SUiX0pGgH52CtTUW --WAHRgh203Gi5G4T74+wGplVp6YRpfTS63d1XFRqe2PTHRJgHNWbsph6RuKSym4VS --6Jjm6CiM1B6ORVBYyWj9tEtPt1ifRXuxEq59cA1LQn5G0FrVIZ/xmbYhdTR7KthF --LvlN+rRyqJ4i5mZLgR2OslTzDwIXaH95yt+nXRdwUL9H31pq4X+vq8pUhq3YNcW4 --951yDtvcDMMILdGaGFzDwWR685pabWkS4f3C -+MIIDzzCCAregAwIBAgIJAL8HVN6vz8TeMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV -+BAYTAklOMRIwEAYDVQQIDAlLYXJuYXRha2ExEjAQBgNVBAcMCUJlbmdhbHVydTEP -+MA0GA1UECgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEmMCQGA1UEAwwdTXlTUUwg -+Q1JMIHRlc3QgY2EgY2VydGlmaWNhdGUwHhcNMjAwNzAxMDc0NDM1WhcNMzAwNjI5 -+MDc0NDM1WjB+MQswCQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYD -+VQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwx -+JjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlMIIBIjANBgkq -+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyQgTgd9aqkUqgh5zT9Yva3p4Qaf76gJc -+MBWVaqRgawhMfUZPGnwUZ8YZ4L/JEsOWf3ESebqh0lEb+/EPQ50ibX9Gp5QMUcIl -+rTbIHFlFkeEgTV4xsTOxSyugYvuKxu5+hHfSqiP4MXTVlGByiKc67PPYgCg2wVp/ -+WL6M0uud+yLe7CzTQYGy5JHk2hKyhA6P97AeNgeIh44dY60bpTE50gIQ4JchP37p -+8aLow6qt470FYuGije3VzddmiisV3eGR4nUYxFBi+6H5lpOvhHj3abZ/gvfIlxMQ -+RnveoqnJcXjxjqF4teW33WlNjBuuNA5flCaOgbMjbh++3uDgQdxxSQIDAQABo1Aw -+TjAdBgNVHQ4EFgQUQ6s/TdPrNz09Kv69TsKK3cnlsbEwHwYDVR0jBBgwFoAUQ6s/ -+TdPrNz09Kv69TsKK3cnlsbEwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC -+AQEAFrjzKkr3gnuZy0AgoXZ6KxnJT0+Qs+R8bkIoyEdLNxKr+mTs1lD4L71hzdYJ -+ltOEseZgrpmuShqxNKbutzsfb8yUOSbkndIC2XXO593pOrLEhBp1DmTOMn9oW4G3 -+Xhi9rFZpHBqgoWGF8hF4UEJO6LhnilCFCXVn2QnhKmFkJBpSeRJc0aVTX3BjKzD+ -+TuXGOnzzNj57q2tXBBJTft0YY78lrrAU+JO7CqbUe3dgWFLunnacY++EQP1avlR0 -+17hKhQmgEw51deYscxvjlP+tcwvG47BoVs7/jXX0nRRcBaCNrauWqk9Yy3nPW4WE -+50pmVAn92sI6O+48PApmNrym8A== - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-certificate-readme.txt b/mysql-test/std_data/crl-certificate-readme.txt -index 6979b33e1b7..7e398eed88f 100644 ---- a/mysql-test/std_data/crl-certificate-readme.txt -+++ b/mysql-test/std_data/crl-certificate-readme.txt -@@ -1,6 +1,9 @@ - These are the instructions on how to generate test files for the CRL tests - using openSSL. - -+If you have root access on the system -+===================================== -+ - 1. Make sure you have the right validity periods in CA.pl and openssl.cnf - 2. Create a new certification authority : CA.pl -newca - 3. Copy demoCA/cacert.pem to crl-ca-cert.pem -@@ -21,11 +24,77 @@ using openSSL. - key while copying it : - openssl rsa -in newkey.pem -out crl-client-key-revoked.pem - 16. Revoke the crl-client-invalid-cert.pem : -- openssl ca -revoke crl-client-key-revoked.pem -+ openssl ca -revoke crl-client-invalid-cert.pem - 17. Generate a CRL file : - openssl ca -gencrl -crldays=3650 -out crl-client-revoked.crl - 18. Clean up all the files in the crldir directory --19. Copy the CA certificate into it : -- cp crl-ca-cert.pem `openssl x509 -in crl-ca-cert.pem -noout -hash`.0 --20. Copy the CRL file into it : -- cp crl-client-revoked.crl `openssl crl -in crl-ca-cert.pem -noout -hash`.r0 -+19. Copy the CRL file into it : -+ cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.crl -noout -hash`.r0 -+ -+ -+If you are using your own CA -+============================ -+ -+Prepare directory -+----------------- -+ -+1. mkdir new_crlcerts && cd new_crlcerts -+2. mkdir crldir -+3. mkdir private -+ -+Generate CA and 3 set of certificates -+------------------------------------- -+ -+4. Generate CA -+openssl genrsa 2048 > crl-ca-key.pem -+openssl req -new -x509 -nodes -days 3650 -key crl-ca-key.pem -out crl-ca-cert.pem -+ -+5. Generate Server certificate -+openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-server-key.pem -out crl-server-req.pem -+openssl rsa -in crl-server-key.pem -out crl-server-key.pem -+openssl x509 -req -in crl-server-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 01 -out crl-server-cert.pem -+ -+6. Generate Client certificate -+openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-key.pem -out crl-client-req.pem -+openssl rsa -in crl-client-key.pem -out crl-client-key.pem -+openssl x509 -req -in crl-client-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 02 -out crl-client-cert.pem -+ -+7. Generate Client certificate that will be revoked later -+openssl req -newkey rsa:2048 -days 3600 -nodes -keyout crl-client-revoked-key.pem -out crl-client-revoked-req.pem -+openssl rsa -in crl-client-revoked-key.pem -out crl-client-revoked-key.pem -+openssl x509 -req -in crl-client-revoked-req.pem -days 3600 -CA crl-ca-cert.pem -CAkey crl-ca-key.pem -set_serial 03 -out crl-client-revoked-cert.pem -+ -+Prepare for certificate revocation -+---------------------------------- -+ -+8. cp crl-ca-cert.pem cacert.pem -+9. cp crl-ca-key.pem private/cakey.pem -+10. touch index.txt -+11. echo 1000 > crlnumber -+12. copy global openssl.cnf to current working dirctory -+13. Open local copy of openssl.cnf and in [CA_default] section -+ - Update dir to point to current working directory -+ - Update certs to point to $dir and not $dir/certs -+ -+Revoke a certificate and create crl file -+---------------------------------------- -+ -+14. openssl ca -config openssl.cnf -revoke crl-client-revoked-cert.pem -+15. openssl ca -config openssl.cnf -gencrl -crldays 3600 -out crl-client-revoked.crl -+16. cp crl-client-revoked.crl `openssl crl -in crl-client-revoked.pem -noout -hash`.r0 -+ -+Replace existing certs -+---------------------- -+17. Replace following files in /mysql-test/std_data/ with files generated above -+ crl-ca-cert.pem -+ crl-client-cert.pem -+ crl-client-key.pem -+ crl-client-revoked-cert.pem -+ crl-client-revoked-key.pem -+ crl-client-revoked.crl -+ crl-server-cert.pem -+ crl-server-key.pem -+ -+18. Remove file in /mysql-test/std_data/crldir -+19. Copy file generated in step 16 above to /mysql-test/std_data/crldir -+20. You may now remove new_crls directory -diff --git a/mysql-test/std_data/crl-client-cert.pem b/mysql-test/std_data/crl-client-cert.pem -index 2cec5cd529f..a0017c2441f 100644 ---- a/mysql-test/std_data/crl-client-cert.pem -+++ b/mysql-test/std_data/crl-client-cert.pem -@@ -1,81 +1,70 @@ - Certificate: - Data: -- Version: 3 (0x2) -- Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1f -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Version: 1 (0x0) -+ Serial Number: 2 (0x2) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 12:14:10 2019 GMT -- Not After : Jun 30 12:14:10 2020 GMT -- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate -+ Not Before: Jul 1 07:51:35 2020 GMT -+ Not After : May 10 07:51:35 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:d6:97:3a:d7:2b:cc:68:4a:7f:72:18:ab:74:7d: -- 51:84:48:44:11:9f:d1:f2:ee:e0:40:6d:a0:23:fc: -- 36:a2:44:ca:2c:13:60:62:f9:ce:45:54:ef:3d:ec: -- a8:6b:e0:02:66:10:89:1f:e7:bf:d2:2d:9c:79:e9: -- 3f:37:ae:fc:da:b3:0d:5f:6a:84:86:6a:04:13:26: -- 99:dd:c6:46:a3:e0:c1:1d:89:0b:4a:42:08:8e:d4: -- 56:3b:12:5e:de:04:e1:b7:da:b5:73:ee:9c:7f:a8: -- 04:f3:18:04:a7:5e:9d:a6:fd:b4:04:17:bb:3d:07: -- 8b:2b:cd:29:cb:ca:6a:d1:70:5d:4f:e5:10:09:44: -- 20:73:ef:65:87:0b:42:67:2c:1c:64:59:bd:56:ea: -- 88:d4:f1:b1:31:d8:ee:8a:bb:3d:22:09:6a:68:ec: -- b4:c5:07:15:81:9e:ae:ee:72:d7:2d:67:df:bd:fd: -- c5:10:5e:e6:88:18:ad:2a:2d:e4:33:be:ac:f7:fe: -- f9:b9:40:54:69:f9:78:fe:57:81:93:89:49:a7:8b: -- 64:8b:72:ea:ab:53:55:43:1e:ea:3a:cd:b0:cb:97: -- 43:9b:70:cc:12:ef:22:08:55:d1:1c:ab:8b:1e:c1: -- d5:4f:15:3f:2b:f7:01:39:a0:74:33:ae:ea:45:25: -- af:2f -+ 00:ab:7f:02:81:a3:ce:01:93:02:67:2a:56:e3:51: -+ 5a:1d:a0:57:e8:4f:bb:2f:27:4d:13:9e:18:8e:b0: -+ ec:47:a9:9c:cc:ce:24:be:64:c2:86:3f:91:63:d3: -+ 23:22:d9:10:e4:44:d5:2e:b9:09:06:e4:8f:0f:91: -+ 90:18:a6:f6:bb:de:4c:63:13:2a:59:41:fb:42:c4: -+ 05:ce:1a:f2:9e:dd:d5:50:00:55:28:7a:56:63:a9: -+ e0:81:f1:ef:03:61:97:00:88:39:85:a5:9e:08:11: -+ fc:76:5a:59:23:79:d8:45:d2:d3:94:19:78:8a:ca: -+ 44:f2:dd:08:df:65:15:0d:d3:b7:df:f5:2c:6c:bb: -+ 86:fb:0e:1a:19:be:ee:8a:af:1f:3d:30:6e:4f:42: -+ 3d:ca:80:39:d5:05:2d:74:5a:6b:0a:0c:49:7c:8b: -+ 95:50:37:46:0e:90:3a:e4:36:58:73:6c:49:69:b0: -+ 76:ca:c4:aa:70:48:b2:1f:2a:86:8a:ae:a7:e0:9a: -+ b3:af:5f:7a:67:6a:1a:f3:e8:2e:57:1e:f2:ac:96: -+ a2:ae:39:f3:7f:e3:7f:e3:b4:0f:e1:d3:e3:95:c6: -+ 04:2a:5e:ca:7e:79:52:a5:49:be:95:66:72:80:d4: -+ 2b:7f:cc:b9:aa:1a:24:27:27:6f:3d:b9:d7:5a:fd: -+ 48:23 - Exponent: 65537 (0x10001) -- X509v3 extensions: -- X509v3 Subject Key Identifier: -- BF:48:07:97:37:D7:64:E6:86:B7:3F:0A:1B:C7:08:9A:35:B0:5B:48 -- X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -- -- X509v3 Basic Constraints: critical -- CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 30:e8:b1:28:8d:f3:09:c8:58:a5:2a:2b:6e:19:ec:f4:3f:fe: -- a0:b2:82:ee:08:5b:aa:94:2c:23:3a:b3:e5:14:43:21:f7:18: -- 23:00:c4:88:b7:b3:b2:c8:b0:31:a2:b3:60:b5:9e:3f:95:b1: -- 72:64:58:da:d7:8d:21:ef:85:93:6d:8d:46:a0:21:5b:c9:bd: -- c6:ea:c6:ff:36:c7:82:d6:4f:71:cf:81:f5:72:af:b1:b9:03: -- ea:a3:7c:2e:b8:67:ce:4b:32:d9:75:c9:5c:4e:2c:1c:c2:25: -- 95:6b:6d:d4:49:5a:c1:01:54:98:78:73:40:3f:05:e5:91:73: -- fc:dd:88:4c:d3:c4:f9:9e:da:fe:cb:e0:a1:2f:6d:15:b5:d8: -- c5:92:07:4a:bf:1e:0b:ac:f4:6e:a3:86:85:31:df:be:a0:90: -- 54:74:12:7c:d9:47:a9:f3:ed:c2:8e:69:0d:2e:51:eb:7b:9d: -- b8:7d:cb:32:ac:65:bd:8f:52:97:41:8f:7b:ca:38:3f:49:77: -- 3c:4b:ac:b1:19:34:03:20:40:a3:9f:ad:79:c9:90:8f:08:8c: -- 6f:9b:a9:de:d5:31:35:e2:27:bb:14:36:06:28:19:30:49:a7: -- ce:42:a7:19:61:2d:7a:94:1b:c6:15:86:4f:20:c1:49:a3:11: -- 86:b6:61:87 -+ 9d:4f:df:b6:eb:02:57:d5:e0:bb:f4:31:5c:2d:0e:ac:51:ce: -+ 8c:5e:97:58:a8:79:cf:67:be:5c:00:7d:e5:aa:de:5e:8c:61: -+ 18:39:2d:4e:e3:62:9f:ba:fc:e3:dc:94:6c:1f:40:0c:e4:98: -+ 26:ac:06:45:8f:dc:73:c8:75:0e:12:b3:46:3c:71:2d:c7:d0: -+ fd:07:71:77:68:f9:55:2d:56:66:8b:27:77:c3:af:87:ee:ba: -+ 21:8a:85:5e:82:93:69:e7:d9:30:3f:53:06:d5:c1:cd:0f:2f: -+ be:f8:5b:07:9c:e2:08:d1:ec:a3:a8:e1:c4:49:e7:6a:1d:37: -+ b4:41:85:a1:11:43:cd:14:7d:a9:b7:d8:32:ae:75:d1:14:6e: -+ 99:cf:52:1c:7c:50:5d:57:09:1f:7c:e6:4a:70:60:cc:49:10: -+ 7a:66:37:2e:a7:ee:5d:11:ed:d7:61:5c:c3:ed:dc:c2:9a:d9: -+ c4:92:54:95:67:04:81:ba:8d:ba:a7:c4:81:7a:63:63:52:28: -+ 5b:35:01:4e:3b:1e:34:55:d8:62:bc:79:db:c8:7a:6f:e7:0a: -+ 65:83:95:5d:bd:21:38:02:a0:24:d5:e5:5c:17:64:39:23:0d: -+ 27:62:d3:7f:c5:3b:52:26:ac:f2:13:f5:8a:53:09:d0:52:26: -+ 69:09:c4:e2 - -----BEGIN CERTIFICATE----- --MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR8wDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMjE0MTBaFw0yMDA2MzAxMjE0MTBaMHsxCzAJBgNV --BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK --DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz --dCBjbGllbnQgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK --AoIBAQDWlzrXK8xoSn9yGKt0fVGESEQRn9Hy7uBAbaAj/DaiRMosE2Bi+c5FVO89 --7Khr4AJmEIkf57/SLZx56T83rvzasw1faoSGagQTJpndxkaj4MEdiQtKQgiO1FY7 --El7eBOG32rVz7px/qATzGASnXp2m/bQEF7s9B4srzSnLymrRcF1P5RAJRCBz72WH --C0JnLBxkWb1W6ojU8bEx2O6Kuz0iCWpo7LTFBxWBnq7uctctZ9+9/cUQXuaIGK0q --LeQzvqz3/vm5QFRp+Xj+V4GTiUmni2SLcuqrU1VDHuo6zbDLl0ObcMwS7yIIVdEc --q4sewdVPFT8r9wE5oHQzrupFJa8vAgMBAAGjUzBRMB0GA1UdDgQWBBS/SAeXN9dk --5oa3PwobxwiaNbBbSDAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP --BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAw6LEojfMJyFilKitu --Gez0P/6gsoLuCFuqlCwjOrPlFEMh9xgjAMSIt7OyyLAxorNgtZ4/lbFyZFja140h --74WTbY1GoCFbyb3G6sb/NseC1k9xz4H1cq+xuQPqo3wuuGfOSzLZdclcTiwcwiWV --a23USVrBAVSYeHNAPwXlkXP83YhM08T5ntr+y+ChL20VtdjFkgdKvx4LrPRuo4aF --Md++oJBUdBJ82Uep8+3CjmkNLlHre524fcsyrGW9j1KXQY97yjg/SXc8S6yxGTQD --IECjn615yZCPCIxvm6ne1TE14ie7FDYGKBkwSafOQqcZYS16lBvGFYZPIMFJoxGG --tmGH -+MIIDdTCCAl0CAQIwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV -+BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj -+bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj -+ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUxMzVaFw0zMDA1MTAwNzUxMzVaMIGCMQsw -+CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 -+cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 -+U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB -+BQADggEPADCCAQoCggEBAKt/AoGjzgGTAmcqVuNRWh2gV+hPuy8nTROeGI6w7Eep -+nMzOJL5kwoY/kWPTIyLZEORE1S65CQbkjw+RkBim9rveTGMTKllB+0LEBc4a8p7d -+1VAAVSh6VmOp4IHx7wNhlwCIOYWlnggR/HZaWSN52EXS05QZeIrKRPLdCN9lFQ3T -+t9/1LGy7hvsOGhm+7oqvHz0wbk9CPcqAOdUFLXRaawoMSXyLlVA3Rg6QOuQ2WHNs -+SWmwdsrEqnBIsh8qhoqup+Cas69femdqGvPoLlce8qyWoq4583/jf+O0D+HT45XG -+BCpeyn55UqVJvpVmcoDUK3/MuaoaJCcnbz2511r9SCMCAwEAATANBgkqhkiG9w0B -+AQsFAAOCAQEAnU/ftusCV9Xgu/QxXC0OrFHOjF6XWKh5z2e+XAB95areXoxhGDkt -+TuNin7r849yUbB9ADOSYJqwGRY/cc8h1DhKzRjxxLcfQ/Qdxd2j5VS1WZosnd8Ov -+h+66IYqFXoKTaefZMD9TBtXBzQ8vvvhbB5ziCNHso6jhxEnnah03tEGFoRFDzRR9 -+qbfYMq510RRumc9SHHxQXVcJH3zmSnBgzEkQemY3LqfuXRHt12Fcw+3cwprZxJJU -+lWcEgbqNuqfEgXpjY1IoWzUBTjseNFXYYrx528h6b+cKZYOVXb0hOAKgJNXlXBdk -+OSMNJ2LTf8U7Uias8hP1ilMJ0FImaQnE4g== - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-client-key.pem b/mysql-test/std_data/crl-client-key.pem -index 677e42ce062..8a361d9ca77 100644 ---- a/mysql-test/std_data/crl-client-key.pem -+++ b/mysql-test/std_data/crl-client-key.pem -@@ -1,27 +1,27 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIEpQIBAAKCAQEA1pc61yvMaEp/chirdH1RhEhEEZ/R8u7gQG2gI/w2okTKLBNg --YvnORVTvPeyoa+ACZhCJH+e/0i2ceek/N6782rMNX2qEhmoEEyaZ3cZGo+DBHYkL --SkIIjtRWOxJe3gTht9q1c+6cf6gE8xgEp16dpv20BBe7PQeLK80py8pq0XBdT+UQ --CUQgc+9lhwtCZywcZFm9VuqI1PGxMdjuirs9IglqaOy0xQcVgZ6u7nLXLWffvf3F --EF7miBitKi3kM76s9/75uUBUafl4/leBk4lJp4tki3Lqq1NVQx7qOs2wy5dDm3DM --Eu8iCFXRHKuLHsHVTxU/K/cBOaB0M67qRSWvLwIDAQABAoIBAQCOie2ft4wTSkjV --dOWOfx+Ciq4MNuiyQVHb+fWBcaqopqDUHhrMI7qL+xrfOy+0WBu/yAQNmValOX7S --y8geKLH0YzLiylI1Jn6GagGSen25pTUhdUJ2lN4yYYDVxCIXv45fHXuiAkEZ2nVP --NAkDU6nMnoDQpyLMKxKaibDVmSLS8mR+wVW/1jKz0kvaNFzB3Ib6Is2tBDTAj5hO --4WaC4kvfuRL9en42WXPU/fQNcHVkxdiFsGwXgG8ZHiWpe/sE92qctTx/QmwIuj5I --IP06a/piWh/IhoHrx3aP+Y4OV5sw1+k/cpd9Il2mg+2nbLhkKBoknngt/p6/Nt3O --qowrQXJhAoGBAPbMSMr+nDJBDvPj9AXm5VXou3SQJnMHdGMZAj6odSA2+2msK6VT --ZNJ75eOzveb0y+w/9hETwltMuUjfnITtu/5UN3GOP15HgOWSUrwJ+NXsoT0xuP83 --gz2lwK5g/YqED1606yXFFBRcxHnE3hpiTuRb5vrPKKinOl5eAz8Bso0jAoGBAN6X --hgmdpqs3k1BrdTFooNz6iZvWQanmBZd/XXETdKAF6YzHHnjARd/b3TOCkPqKWxc/ --+JdEBiWCeaCDG3jobAU0EeeA5G6rztcbYucDkhIGlb2rgIJoubVKzUwPCSL1xTrJ --VMBwkIo4CZDcPwKYvQBaa1PulazF7ZJDDNNV//SFAoGBAOK4/M5vZLLODZyEd3LM --kTaA3WTR4GCgIo2/Nc62FxOHLyP+5QG2QNMUuzaZswVvMb9Raw55Jn2VWEnYEwQT --GjckyuJpGVHVQlakO5k/V/e+sMl02kyrhMendAE+XO1ZMH2CmttR14Z1SpHLB3cZ --hPxIaUNT+DgnmHmEyFqjhpIdAoGAQf/blm5QROQtoeK61POY/uyqcLKOtbmmXs08 --/5ItOmWGYl+IAXXBQicG54cHRcJQUAx/wRpCWEzfk2BMfQUtQj22MVZeZRI8Oju8 --j5LXdNDPBXYcnI5AwihzxuGOa/dDi7K2lnjJ4rHK5FDpvfNb1wb4W+KaLqhhUMTg --wKj3Q6ECgYEAtufmUZ/bJJu76lY2OpKopFhIvNAsusbtewz5gcm5vZr8vMtYgp/n --gdouphit+z76P9XC7rIrWYns4WyZmsaPXHSepvSH5P25G6DzyjRplCJ3EIjZu++7 --ZG/hac1Vo82T5Qeg1IpOHVE4jceC8XfUcmuoBO31ScZFeOQlT2otdY0= -+MIIEogIBAAKCAQEAq38CgaPOAZMCZypW41FaHaBX6E+7LydNE54YjrDsR6mczM4k -+vmTChj+RY9MjItkQ5ETVLrkJBuSPD5GQGKb2u95MYxMqWUH7QsQFzhrynt3VUABV -+KHpWY6nggfHvA2GXAIg5haWeCBH8dlpZI3nYRdLTlBl4ispE8t0I32UVDdO33/Us -+bLuG+w4aGb7uiq8fPTBuT0I9yoA51QUtdFprCgxJfIuVUDdGDpA65DZYc2xJabB2 -+ysSqcEiyHyqGiq6n4Jqzr196Z2oa8+guVx7yrJairjnzf+N/47QP4dPjlcYEKl7K -+fnlSpUm+lWZygNQrf8y5qhokJydvPbnXWv1IIwIDAQABAoIBADdU9mEPkdMONJNG -+pNwZDmNKrbJFr1ZKbuLqem/ng4Sno/CsfkxzxBN+hRFZORfwQzPzRXkauF/h9IqI -+Y56gmDELS0gYEezUjhX/mwPhy/AYENAMG23A8wia8dXbUkub/BVu3mhRhEiETRl+ -+kw4QLQhyOlOpWCwnkNFvIYK6YW2hHye1utu7L+Hy2zyi9g6ZKyZRl8W/OrFT2ka0 -+5zAOb1ttYLUdzK+ErF29GrT2X7PCL//QCNHQW2q03QWSRA7w+MbfytkJRLsCl8fg -+V1uVjP/RumuS6fLxQkytbaioukmfzO+4J0Z+JWpF2IqzixrdxlgPvMIAUDHEOVdv -+JlXuI4kCgYEA4xs75iLM+YDxHyygfyJZGI7iqwfkXbRDcKp/MECa7KcvJs0l8Eeu -+lB0jSM/uy9o92vTXLb5bi45vBiCjImAuZQL08elQZuR5JiPJZqF/b3BXsLUcPIbI -+oxO3hLdigyt9wuuk3XvhrYJkLJZ6z8lBR6Qfvre8kApqLjnlH2QGUR0CgYEAwVCS -+Wy4AL1goFHc+b/hFou0nWLjVFiMpNroDEQigvLnnRG7irMDxDsxAcotl6tYzjjys -+JKtMmBJDJnlsHnO8NK2sUn1CQTxdxoXOhVD0mtbaowU+PVZDzhp1j1dzmtzovKTo -+Qkh+DV8Z4ulbaJ+ROpgCZYCoJ5K3PEwjrrbN+j8CgYA5BZKBkwVSNBzWjfbyVOZ3 -+8xBYjw+4s1UnibeLnv0HJGcDYAkBjo335GUCmCrGBlL3kfghJSWJIccgi7tKG0oq -+1JY50zH706vTdrLP0QbVLSjnVmHzlIf14jJ24TCb7KST92Sas8sTLKUISPQnDcoV -+OdE6qplutR654pFz00J+xQKBgGDM6MyxpzQN79v3rhNBfhVMrcQ2obU5HB0kXf68 -+lEiMyqqw397jqpHfY3I4LWu/oQdbiFPAV1Va57cvXB2PlLHIOZ8AzBmAkfCj9js5 -+w5J5fffd20G5nbBp/W4uu1vTvNMhvI/cXwpxEbRXaAdmx8FQdvq+xvUx+YE/GysU -+rOXfAoGAQ4G+nrbKq76GEKfMzGnAHunSbdYlHOY/sHJ2Z0M/5eHIcvOEBJKGXl3m -+xe6WR/wavanNwMQ4aqpRv09yufdnoVsJcWpThDDBDIlstHUvO1mnk8B7OqHL2GIy -+lbo/QtpHT/46igRZUtBZFyZu4hb5EwBIpKNm1X/MyFYU7XMrvpQ= - -----END RSA PRIVATE KEY----- -diff --git a/mysql-test/std_data/crl-client-revoked-cert.pem b/mysql-test/std_data/crl-client-revoked-cert.pem -index d3b81e2c1a2..d48e20e0d9e 100644 ---- a/mysql-test/std_data/crl-client-revoked-cert.pem -+++ b/mysql-test/std_data/crl-client-revoked-cert.pem -@@ -1,81 +1,70 @@ - Certificate: - Data: -- Version: 3 (0x2) -- Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:20 -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Version: 1 (0x0) -+ Serial Number: 3 (0x3) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 12:18:02 2019 GMT -- Not After : Jun 30 12:18:02 2020 GMT -- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked -+ Not Before: Jul 1 07:52:41 2020 GMT -+ Not After : May 10 07:52:41 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test client certificate revoked - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:e2:df:28:76:87:da:b5:49:64:03:a4:92:50:53: -- 89:d1:b8:85:a8:76:6e:2c:44:6a:85:f2:a2:7a:d9: -- f1:26:ab:f7:ea:e4:46:77:ce:38:9e:49:dc:e0:c0: -- ce:c1:e3:e2:3c:80:3a:e0:ab:7d:1a:fa:31:12:59: -- a5:b1:24:b5:42:30:e7:1d:95:85:4d:eb:17:ce:13: -- 8f:7b:25:7b:4b:ff:44:7c:b6:07:4b:e3:b8:ab:c2: -- 0d:07:6f:e3:bb:2d:56:8d:0f:c7:78:29:c7:c6:94: -- df:82:d6:32:15:cb:5f:e1:7b:8a:38:e0:ae:cd:aa: -- 58:37:99:6b:5a:52:20:a5:fb:fa:d7:61:bd:c4:5d: -- 11:fc:10:0f:49:74:9e:be:30:6b:cb:c1:4b:b8:5c: -- 50:85:4a:fd:d1:13:3f:3e:e0:b8:3e:ec:30:92:9b: -- 2b:b1:67:86:2e:2f:76:5d:ce:16:31:7f:eb:0e:0e: -- ba:14:97:d1:5e:35:fb:c9:af:fe:20:36:56:60:bc: -- 95:45:84:de:90:59:d8:24:57:24:48:4a:cf:3f:9b: -- b2:89:7d:9d:91:dd:da:92:a6:77:01:9e:09:5c:96: -- a3:94:d4:95:5e:69:d4:a4:13:af:47:e3:64:7a:26: -- bf:c4:a2:6b:0b:5f:b6:f9:ee:40:1e:e8:54:04:bd: -- 98:89 -+ 00:c2:57:18:e7:94:ce:44:87:f3:45:8d:e1:c3:a8: -+ a0:1f:9a:04:9a:67:de:4a:41:bc:5d:0f:31:07:9f: -+ e3:d5:82:54:81:b9:dc:77:43:62:51:42:43:cd:8c: -+ 31:71:0f:5b:dd:e8:02:c5:f2:3a:be:e4:e9:64:99: -+ df:e5:8f:34:fc:f9:2c:5b:1d:b1:93:8b:b7:c5:55: -+ 5e:10:f9:b5:1c:0b:9e:1a:65:3d:ab:2e:51:a5:fd: -+ 10:97:57:2d:98:6d:9a:82:0e:ae:25:21:cc:dc:26: -+ 01:16:34:8a:f4:67:30:2f:77:4b:56:7b:e4:ec:c2: -+ cf:1e:ec:0d:0a:29:c1:49:2f:5e:6e:75:4f:d7:b4: -+ d0:b2:73:09:9f:25:e0:a8:41:66:e0:78:d4:2b:f5: -+ 6e:3c:20:15:3e:75:d1:e3:cc:ee:47:b8:2a:fe:46: -+ f4:bc:01:7a:9f:67:48:12:bc:a1:b9:e1:b7:31:4a: -+ 2f:6a:ed:d1:33:7a:26:ab:01:88:05:70:48:8b:87: -+ 41:4b:44:78:67:7b:e7:37:8c:b7:41:c0:6a:eb:37: -+ 3b:de:a9:91:16:75:f9:14:81:eb:b4:60:db:a0:2e: -+ 93:8a:61:91:33:ee:12:2f:85:2c:12:96:30:f1:f5: -+ 00:42:16:95:a7:e9:06:30:32:b9:a3:fe:19:1d:fb: -+ 28:ff - Exponent: 65537 (0x10001) -- X509v3 extensions: -- X509v3 Subject Key Identifier: -- 99:C4:1D:9A:1D:7D:43:C0:FB:B2:17:64:60:B3:33:0B:9C:69:1E:6F -- X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -- -- X509v3 Basic Constraints: critical -- CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 10:35:2a:20:3e:7c:d0:8d:7a:c8:0a:1f:a9:ad:c2:67:c5:eb: -- bd:f6:eb:67:e6:e4:d2:d0:c8:0c:1b:9d:fb:99:a6:1c:b5:30: -- 23:35:71:19:a3:1c:fd:f1:f1:a9:30:de:1c:b0:c4:05:2b:93: -- 4d:60:e7:00:0d:c3:3b:d5:67:6a:38:3f:6a:ee:63:bd:ce:7f: -- a4:b8:9a:23:7b:d9:68:5d:80:04:b8:43:98:00:18:70:89:71: -- 38:3b:07:33:0f:60:2c:cf:90:7c:bd:78:69:6f:a1:38:a1:0f: -- 37:04:af:01:6c:ba:7a:84:d8:4b:ed:e3:f5:52:ec:de:a1:0c: -- ac:a5:35:62:75:b5:36:6e:75:77:9f:14:40:c2:6f:93:f3:23: -- 70:ff:fe:0e:6a:50:45:45:e4:8c:98:8b:4d:2f:8c:05:43:29: -- eb:0d:09:25:1a:c6:19:1b:8c:7a:ae:c4:31:b7:54:e6:d2:dd: -- 62:c5:18:6d:b8:e0:ce:d9:84:0a:ca:f0:95:2b:92:d0:69:f5: -- 85:6e:f1:49:63:fe:e9:71:a3:4b:55:ed:56:f1:de:96:7d:b9: -- 6f:be:8f:00:99:e6:c8:21:26:eb:9c:d9:3b:da:9e:5d:dd:8e: -- 64:5d:de:d4:60:56:5f:59:62:05:c8:f4:0d:ab:dd:ac:54:2c: -- 66:24:ea:da -+ 26:ed:c6:62:c6:37:5b:d6:5a:8d:f1:09:4e:ac:0e:d6:0c:fb: -+ 3c:a0:73:c7:2c:c5:23:ed:ca:b4:27:aa:66:1e:37:e0:5c:3a: -+ ff:35:82:f2:da:2e:4a:16:0a:5c:ea:38:9b:63:ce:2e:0c:27: -+ e6:e9:77:c7:ba:16:75:f3:1c:9b:9b:83:aa:90:3a:3e:2e:1b: -+ 01:07:24:d1:c7:a8:e9:d6:30:ea:04:37:7d:ed:dc:d8:36:35: -+ ca:df:83:e3:7f:49:b7:a7:06:3b:2b:fa:ed:03:7c:91:39:93: -+ 44:59:b5:ed:5d:28:30:25:76:c5:5e:67:ce:28:c6:d1:68:48: -+ bf:43:33:40:8d:5d:3d:2b:cb:8e:b3:77:cb:a7:41:f2:94:20: -+ 0a:ab:c7:86:1f:e4:04:84:a4:73:19:ae:e4:ba:82:9a:35:0f: -+ 44:26:f0:49:0e:9d:08:d3:7d:94:b0:22:ae:62:7a:3e:60:48: -+ 4b:09:11:4d:bc:1e:80:21:65:6f:21:77:43:be:8c:3d:c9:71: -+ c7:c5:88:90:5e:60:26:64:8a:43:45:2e:a3:02:0c:8d:e1:b9: -+ 76:a6:c9:61:2d:7a:d2:3c:17:c4:74:01:2f:dc:eb:a0:90:f5: -+ f7:0a:19:2b:d7:38:fb:c3:aa:c7:b6:76:17:72:1a:41:8f:54: -+ 95:72:94:bc - -----BEGIN CERTIFICATE----- --MIIDyDCCArCgAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokSAwDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMjE4MDJaFw0yMDA2MzAxMjE4MDJaMIGDMQswCQYD --VQQGEwJJTjELMAkGA1UECAwCS0ExEjAQBgNVBAcMCUJhbmdhbG9yZTEPMA0GA1UE --CgwGT3JhY2xlMQ4wDAYDVQQLDAVNeVNRTDEyMDAGA1UEAwwpTXlTUUwgQ1JMIHRl --c3QgY2xpZW50IGNlcnRpZmljYXRlIHJldm9rZWQwggEiMA0GCSqGSIb3DQEBAQUA --A4IBDwAwggEKAoIBAQDi3yh2h9q1SWQDpJJQU4nRuIWodm4sRGqF8qJ62fEmq/fq --5EZ3zjieSdzgwM7B4+I8gDrgq30a+jESWaWxJLVCMOcdlYVN6xfOE497JXtL/0R8 --tgdL47irwg0Hb+O7LVaND8d4KcfGlN+C1jIVy1/he4o44K7Nqlg3mWtaUiCl+/rX --Yb3EXRH8EA9JdJ6+MGvLwUu4XFCFSv3REz8+4Lg+7DCSmyuxZ4YuL3ZdzhYxf+sO --DroUl9FeNfvJr/4gNlZgvJVFhN6QWdgkVyRISs8/m7KJfZ2R3dqSpncBnglclqOU --1JVeadSkE69H42R6Jr/EomsLX7b57kAe6FQEvZiJAgMBAAGjUzBRMB0GA1UdDgQW --BBSZxB2aHX1DwPuyF2RgszMLnGkebzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4 --ujDneh+WRjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAQNSog --PnzQjXrICh+prcJnxeu99utn5uTS0MgMG537maYctTAjNXEZoxz98fGpMN4csMQF --K5NNYOcADcM71WdqOD9q7mO9zn+kuJoje9loXYAEuEOYABhwiXE4OwczD2Asz5B8 --vXhpb6E4oQ83BK8BbLp6hNhL7eP1UuzeoQyspTVidbU2bnV3nxRAwm+T8yNw//4O --alBFReSMmItNL4wFQynrDQklGsYZG4x6rsQxt1Tm0t1ixRhtuODO2YQKyvCVK5LQ --afWFbvFJY/7pcaNLVe1W8d6Wfblvvo8AmebIISbrnNk72p5d3Y5kXd7UYFZfWWIF --yPQNq92sVCxmJOra -+MIIDfTCCAmUCAQMwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV -+BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj -+bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj -+ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUyNDFaFw0zMDA1MTAwNzUyNDFaMIGKMQsw -+CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 -+cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxMjAwBgNVBAMMKU15 -+U1FMIENSTCB0ZXN0IGNsaWVudCBjZXJ0aWZpY2F0ZSByZXZva2VkMIIBIjANBgkq -+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8 -+XQ8xB5/j1YJUgbncd0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3 -+xVVeEPm1HAueGmU9qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLP -+HuwNCinBSS9ebnVP17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6 -+n2dIEryhueG3MUovau3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5 -+FIHrtGDboC6TimGRM+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABMA0G -+CSqGSIb3DQEBCwUAA4IBAQAm7cZixjdb1lqN8QlOrA7WDPs8oHPHLMUj7cq0J6pm -+HjfgXDr/NYLy2i5KFgpc6jibY84uDCfm6XfHuhZ18xybm4OqkDo+LhsBByTRx6jp -+1jDqBDd97dzYNjXK34Pjf0m3pwY7K/rtA3yROZNEWbXtXSgwJXbFXmfOKMbRaEi/ -+QzNAjV09K8uOs3fLp0HylCAKq8eGH+QEhKRzGa7kuoKaNQ9EJvBJDp0I032UsCKu -+Yno+YEhLCRFNvB6AIWVvIXdDvow9yXHHxYiQXmAmZIpDRS6jAgyN4bl2pslhLXrS -+PBfEdAEv3OugkPX3Chkr1zj7w6rHtnYXchpBj1SVcpS8 - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-client-revoked-key.pem b/mysql-test/std_data/crl-client-revoked-key.pem -index 52875dc6f03..dd2f2565bd1 100644 ---- a/mysql-test/std_data/crl-client-revoked-key.pem -+++ b/mysql-test/std_data/crl-client-revoked-key.pem -@@ -1,27 +1,27 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIEpAIBAAKCAQEA4t8odofatUlkA6SSUFOJ0biFqHZuLERqhfKietnxJqv36uRG --d844nknc4MDOwePiPIA64Kt9GvoxElmlsSS1QjDnHZWFTesXzhOPeyV7S/9EfLYH --S+O4q8INB2/juy1WjQ/HeCnHxpTfgtYyFctf4XuKOOCuzapYN5lrWlIgpfv612G9 --xF0R/BAPSXSevjBry8FLuFxQhUr90RM/PuC4PuwwkpsrsWeGLi92Xc4WMX/rDg66 --FJfRXjX7ya/+IDZWYLyVRYTekFnYJFckSErPP5uyiX2dkd3akqZ3AZ4JXJajlNSV --XmnUpBOvR+Nkeia/xKJrC1+2+e5AHuhUBL2YiQIDAQABAoIBAFTjfzZquvEeVufu --Cjk4KNdqHcjdF3hE2T7pfNZO+iaoLgmcBKoLZbAEnzsRqctuw1Yz/NPYFuWjO/1L --we24eIId3jx5l/mBv9SCCSvg6HOVPkETs0M4H/9Uip9/xExjOIFrqA1URMYPKlrA --Xtk80dGC8kM5/u5BkOSs6ThQhprUK7oWOoVKu3XMmau49LH7SA+zwcUh0JCOS4gL --MCytKtviahFp7tgFDaugTtRGDdtVrtVHuOmygLj+gU+6h3rUvYPMkNqKWkLRA0bE --kO0R85VKC+TwOPnlSJAEgWxnEL499TOUg+pnRRAu8sggmm5ziwwWJluiOdELnUq9 --ORCETMkCgYEA80BXGP/oY6QMwc2FcXHWK5VtZiHs7FJxN7x4Mwlrgj/in+6cIyrW --PzdZWXcQ1Y/QQuCp0pch7PrwfNouCUSMNJHEqzXmGnU03JBA1FwKAenog00dAdou --uS8PvVcocdDS+X7wTimyMDEUvurTMnWv1f7kKTv7qxfmMUvMjGCan48CgYEA7sMO --L86cYqwHvA6arKbSiRddoc3vt9uWZUfrU3M5tcQaWjXWZlDIoZgA07av3haNSbsI --bZ/KwwHWFMiBxt4q9APFZpK1SU2d+g57lF5j/2Phe3Sf75EzdUSidxfsh2SGY8Tn --elmz88vA1YXDZVPY95ksqWTmlsdv8wfdamsPOmcCgYEA2Ek9KF1ipDYZobi8DkLJ --y7bxrv47S2WChaxus/KMRSPIvavL6PkNxufP6lyT+1AEPXLFjRoUcEIv0tOsW1E3 --2QZDeHhUQPI2LmeVPT0ZKNpyg0ztndgB82aE+DWnIIwtCupzgQxSA8egSqFBaHx7 --/CrHdGKBQ3/cjbh4B9ldosECgYAW/BYQih5J7W+tLea7+i9IXUR5QB70nyICTAMe --fHgwxFkZGBe0r9AwpjZmKy8Q/TDKyUONchWN4k5en9LGdzrBVN+a+UKUdPFhUiWZ --aeDMhCv/u4FuCZdfkaTmPBpcClRZpGn4QExviszcgU0HIyQ+6bL/96OvHjHrvnUV --OoszvwKBgQCS1ZPLPp/QkCrhmh2La0qrybjqYOuOiUqbXn5Df2YSJq6kulUa1vvv --c68aYpT4K021D8+/6xOxWMasZc7oBnH76mKWBC/Nf0z/NVO7HzHVkM/MYOcZJ9R3 --eZUUuiBiUxEMLBtN3T7UEdt1dmarlDacohzgfhMXnNpEGhFAAdxaUA== -+MIIEpAIBAAKCAQEAwlcY55TORIfzRY3hw6igH5oEmmfeSkG8XQ8xB5/j1YJUgbnc -+d0NiUUJDzYwxcQ9b3egCxfI6vuTpZJnf5Y80/PksWx2xk4u3xVVeEPm1HAueGmU9 -+qy5Rpf0Ql1ctmG2agg6uJSHM3CYBFjSK9GcwL3dLVnvk7MLPHuwNCinBSS9ebnVP -+17TQsnMJnyXgqEFm4HjUK/VuPCAVPnXR48zuR7gq/kb0vAF6n2dIEryhueG3MUov -+au3RM3omqwGIBXBIi4dBS0R4Z3vnN4y3QcBq6zc73qmRFnX5FIHrtGDboC6TimGR -+M+4SL4UsEpYw8fUAQhaVp+kGMDK5o/4ZHfso/wIDAQABAoIBAQCx7VAt5n2bHOVL -+zwTeQCqqBDcmruZEEj9E7D21f1v3BOYeB26j+puvTf4J2MsDek5fsqWnWYkTcT2G -+D6N/50daPT+xBFSqg4bzMp9250g7rx9Hh12YtkWmtTVVekmSfvaxEIO8F2AaRulD -+zUNTVI43Rv9A5RnI8uryoqeloGkIeK9w0Gm0lSelqDNqb3OYbSX4OkBHC3wFvQBV -+eCwDIJIS9hXc8+mt42T5iaAGvVgHEzsOyTtWlMWPlgiIVq1VzoGiyjTR3E+V+tfy -+fzB/nq8s1t0/AOpEkk5LNX8UE1TnET7kqtBw/UmZ9BJ9FtZaYXBFprjxi/hGZbTW -+oYBIaqtxAoGBAOQ9RHUb1V/mJ/qhWsLsKQdNlE/49ypevjUGwcr6YH7lcNz4YDrk -+t75NmQv1svN7UuDpYzATe84n4F+ZmaN/pESKdFOmQ7usosGp8NKGxRQ1Upqr5DEm -+P4wfz/kwsquJOMbSEczfMc7C8CTm5m6wrs9pX8r5UJq7vZHOCAnL7mr7AoGBANn6 -+TpB1Pbimv5kub8c8Wi/in9/Y3kDJpBm8oy9aWPLyzVag41O8QDEma8hIxbqMF6fG -+kv9gYzTZ5+w6Uz58CSp1BYzWOaevpqpdRd4YxaMIOnI5ddDTAGQBudkCy6X2qXRl -+Dk4fnkr0GvyIlIhAKnBEnmSo5DPX7W6kPwWk9hrNAoGBAIV3nnStFhXCTVauzJh3 -+6XYv068Ac+j/BlOT4/eCerM6EMnnJL7LyPcsAXeQ8liXoVuMn0gZ3KgtgXPmKoYF -+ulWqcWQJMkqpJXQCoKU70juDAw8XvZVQPJEAeWnLJHBTCjSZ23bmfgXe0PeDXvUT -+tOXtROs45/3UE4MT7HduHbnJAoGABNRS4Uh3sZugKxioSVXA+cafnCoF4pGVHSzc -+wLPTvK48dmriHnzRP0WGpc1W9Ccebw0rPJU6HXWmeclhBsVgvpwRH2mvpVNy8dtX -+LPCHkHEiOl2jipjiLVUMdQ5mzKqGXpnOk1SIAUkfP/EWuV4SkqIykDBdvfhOvmDN -+NKbO/RECgYAK2mueSaD3BRtJEiTCCnAjcov3nBIYgXj1y+BCSo5YGMdHSgLMMq7M -+45uUSjv3zNv9wr4Og5/2qDE18ISxPHTvGngNABTGDcLNgPm0j5smwJSe99BITwZb -+jTaa0WaPPdvEzPpaTiNJi81/5UWqNWc5Mg7LBlWhnCjtaYYzDOy33w== - -----END RSA PRIVATE KEY----- -diff --git a/mysql-test/std_data/crl-client-revoked.crl b/mysql-test/std_data/crl-client-revoked.crl -index b0093e74369..367c35bfc34 100644 ---- a/mysql-test/std_data/crl-client-revoked.crl -+++ b/mysql-test/std_data/crl-client-revoked.crl -@@ -1,13 +1,41 @@ -+Certificate Revocation List (CRL): -+ Version 2 (0x1) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: /C=IN/ST=Karnataka/L=Bengaluru/O=Oracle/OU=MySQL/CN=MySQL CRL test ca certificate -+ Last Update: Jul 1 07:54:29 2020 GMT -+ Next Update: May 10 07:54:29 2030 GMT -+ CRL extensions: -+ X509v3 CRL Number: -+ 4096 -+Revoked Certificates: -+ Serial Number: 03 -+ Revocation Date: Jul 1 07:54:18 2020 GMT -+ Signature Algorithm: sha256WithRSAEncryption -+ 8d:76:b6:c6:84:2d:f5:14:fa:34:2f:0b:64:7c:20:c0:65:03: -+ 60:8a:6b:9d:42:0d:b7:51:93:92:75:b5:28:5d:2f:47:0e:6d: -+ a2:df:c7:a1:b9:95:49:c2:83:5e:36:41:77:63:b4:25:8b:60: -+ d9:f8:25:4e:6e:45:94:3f:a3:86:a3:b5:cc:f0:b5:eb:68:4e: -+ 1e:f6:d9:5d:e2:50:a6:e5:50:0e:a0:6f:e8:4b:66:9f:1f:0d: -+ 5e:e1:63:e9:c9:96:7d:98:b6:56:5e:ce:3f:d2:42:b4:d3:18: -+ 73:ca:ce:7a:42:71:29:7b:1f:bf:07:88:cf:d2:8e:1d:31:9c: -+ 00:92:a2:5d:bc:78:0f:7b:f1:02:fe:ed:d7:b1:dc:8d:25:9a: -+ d5:01:c1:d8:ac:fd:a2:41:96:bd:9b:72:cb:95:f5:85:a9:88: -+ b3:74:30:c9:82:5d:8b:c8:d6:8a:5c:92:e8:e7:09:f1:13:73: -+ fa:05:56:1c:e2:dd:9e:b5:49:71:82:67:e6:e3:57:53:c8:f7: -+ df:66:44:7a:d6:f8:4f:44:5f:7e:30:eb:7b:d9:15:db:e2:d0: -+ 85:45:9a:7b:d4:c2:f8:44:0f:5f:8c:d0:35:45:a1:c6:82:e8: -+ 43:49:73:09:3b:ba:9a:24:00:1f:3c:7a:38:bd:e6:b5:b8:45: -+ e3:33:d3:c9 - -----BEGIN X509 CRL----- --MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE --CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM --HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y --OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy --MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 --IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 --wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu --SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc --SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B --WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 --dRhzrDB6GMxR -+MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE -+CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs -+ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl -+cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN -+MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB -+AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe -+NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp -+yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN -+JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx -+gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ -+O7qaJAAfPHo4vea1uEXjM9PJ - -----END X509 CRL----- -diff --git a/mysql-test/std_data/crl-server-cert.pem b/mysql-test/std_data/crl-server-cert.pem -index 5c14c4155c8..6328fe4fc42 100644 ---- a/mysql-test/std_data/crl-server-cert.pem -+++ b/mysql-test/std_data/crl-server-cert.pem -@@ -1,81 +1,70 @@ - Certificate: - Data: -- Version: 3 (0x2) -- Serial Number: -- 27:9a:6f:41:cc:a4:9a:73:13:55:a3:b6:f4:3f:71:d5:8a:a8:91:1e -- Signature Algorithm: sha256WithRSAEncryption -- Issuer: C=IN, ST=KA, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate -+ Version: 1 (0x0) -+ Serial Number: 1 (0x1) -+ Signature Algorithm: sha256WithRSAEncryption -+ Issuer: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test ca certificate - Validity -- Not Before: Jul 1 12:10:59 2019 GMT -- Not After : Jun 30 12:10:59 2020 GMT -- Subject: C=IN, ST=KA, L=Bangalore, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate -+ Not Before: Jul 1 07:50:41 2020 GMT -+ Not After : May 10 07:50:41 2030 GMT -+ Subject: C=IN, ST=Karnataka, L=Bengaluru, O=Oracle, OU=MySQL, CN=MySQL CRL test server certificate - Subject Public Key Info: - Public Key Algorithm: rsaEncryption -- RSA Public-Key: (2048 bit) -+ Public-Key: (2048 bit) - Modulus: -- 00:b3:b7:2d:68:62:08:c9:5b:90:25:89:98:4c:6e: -- 04:f4:5d:ff:e7:4e:18:37:db:63:ab:56:d5:7e:3a: -- be:37:cd:e6:5a:c2:73:a7:24:a8:f9:1a:bf:05:e6: -- 14:5f:31:7f:f4:73:8b:9c:c2:89:e5:fd:d9:5b:94: -- a9:a7:b4:48:a6:b0:95:d2:62:14:b3:15:47:26:83: -- 69:63:99:b6:48:ca:f2:ef:bd:1e:de:23:4c:e7:28: -- 54:13:ca:03:49:cb:07:a6:7d:e7:48:9d:03:88:5d: -- 3b:47:50:f6:17:21:34:15:c5:cd:4f:40:f9:ca:12: -- db:b6:53:0c:08:c3:a0:0b:68:03:0d:45:9f:4f:26: -- c3:23:3f:ef:6f:4a:98:0d:6a:2b:b5:4a:23:e3:89: -- 08:bd:c0:37:ef:db:be:82:4d:26:47:93:f4:de:3f: -- 04:ef:3c:d3:97:e3:c4:c5:65:9e:2f:f9:8a:13:f2: -- 74:12:ab:ff:99:9e:ef:d8:48:11:55:ba:f2:97:6e: -- 04:75:0e:e4:18:85:34:20:a1:da:db:60:35:98:0e: -- d0:44:27:17:81:d1:6a:5a:93:28:47:c4:4f:37:26: -- 72:db:d9:a9:a9:c2:e5:90:16:c3:49:89:67:68:0f: -- e7:dd:5f:a7:29:26:62:a5:c7:63:0f:1b:f6:9c:b8: -- 86:c5 -+ 00:f6:43:d5:3b:37:86:9f:54:a7:96:23:c6:90:73: -+ a2:cb:79:bc:77:1a:18:dc:ae:30:36:5c:41:e5:a7: -+ d0:bc:93:08:7e:7b:2c:9a:00:bf:9d:0f:ab:82:56: -+ e6:ad:f1:3a:6a:e2:49:5d:02:59:0e:03:10:63:b1: -+ 83:f9:73:19:40:ec:8a:a0:1e:17:c9:53:74:ca:ca: -+ 2b:2f:7a:87:98:dc:12:e6:c8:d9:6e:3b:bc:d3:c5: -+ f3:f4:fa:14:e2:5a:12:f2:3a:79:82:b7:a9:6f:21: -+ f6:c7:79:a0:c7:56:05:a8:01:64:e8:f0:67:81:29: -+ af:21:dc:08:02:8e:b8:cf:38:f1:ef:a6:ea:18:14: -+ 43:63:21:e8:a3:fe:78:78:b9:f2:04:6a:c8:32:48: -+ 66:4e:6e:4f:22:28:89:42:27:42:e5:f4:76:38:77: -+ 80:88:2d:73:c8:36:ab:24:40:68:fc:34:83:ba:1c: -+ 07:99:e3:3d:69:49:08:cd:4f:74:83:4e:33:5a:c4: -+ 87:65:7f:84:dc:73:80:93:55:21:5a:4d:86:97:b0: -+ 8a:93:d1:bc:63:c5:19:b0:8a:77:85:af:c9:74:cf: -+ dd:4b:17:8c:cf:62:b0:bc:1a:3b:3f:b4:18:6b:e7: -+ ad:4e:56:cb:29:be:31:4f:ee:3b:89:97:d6:fa:bd: -+ 5b:2b - Exponent: 65537 (0x10001) -- X509v3 extensions: -- X509v3 Subject Key Identifier: -- 50:0D:53:3F:37:4C:2D:EE:F0:F7:67:48:53:36:18:C8:50:65:60:3B -- X509v3 Authority Key Identifier: -- keyid:A7:2E:CA:53:05:52:06:12:BD:ED:FF:CF:B8:BA:30:E7:7A:1F:96:46 -- -- X509v3 Basic Constraints: critical -- CA:TRUE - Signature Algorithm: sha256WithRSAEncryption -- 17:be:6a:bc:a9:f0:5a:d9:72:bd:3b:83:f9:e1:ef:eb:a3:b3: -- b4:9c:e0:fd:9a:ad:c1:e2:12:0b:9f:fa:ca:9a:14:b5:43:96: -- 50:da:50:b1:42:9c:15:87:56:b2:5d:d5:ce:4e:dc:0e:a9:98: -- 0b:05:6e:57:ca:99:0f:28:9c:d5:b7:d2:c1:97:da:5f:34:b1: -- f2:73:4c:27:39:cc:40:86:80:63:18:74:e3:0f:c7:02:6d:76: -- 98:a6:2a:b5:e3:13:8f:d8:5c:42:8e:33:c5:dd:0e:bc:05:90: -- 96:9a:b8:de:d5:44:57:47:70:c9:26:0a:4b:96:0a:95:de:8e: -- b4:f6:1f:8e:96:41:1d:d6:65:28:1c:f3:6d:3d:b1:b2:38:c7: -- f6:b9:f3:fe:a4:98:fe:45:46:d2:04:a3:40:76:5f:3d:df:60: -- 71:dd:8a:bd:83:b3:be:54:87:f5:df:8d:40:e8:68:c1:90:90: -- dc:de:1b:e3:2c:45:2b:50:53:b2:95:1f:c8:ea:ad:72:5d:5b: -- 94:21:eb:d3:14:4a:41:7f:c4:aa:88:41:a8:1f:61:fb:51:0d: -- 58:e0:2d:08:86:49:62:84:85:da:8f:9e:cd:1a:f7:11:b5:a1: -- 58:56:d8:eb:a7:99:2d:1b:df:98:65:9f:8f:ab:9b:e0:32:95: -- 23:20:cf:82 -+ 51:bd:1f:2d:64:cb:8c:d3:02:f2:ff:7e:65:3a:fa:78:4c:4b: -+ 65:5c:8a:75:49:24:df:14:17:6b:84:a2:6a:e1:b8:d6:84:74: -+ 22:7c:e3:bc:3e:7d:81:c7:2a:df:d6:bc:7b:be:44:a7:26:63: -+ 1d:09:c1:ea:25:85:4b:14:b3:2f:f8:a5:28:f4:72:36:fc:71: -+ d0:c9:8d:b2:b3:d6:88:2a:4e:98:f2:22:fa:cb:c8:4d:7b:c0: -+ 3b:81:f1:dd:f9:29:bd:f4:69:a4:82:87:c6:3b:4f:2f:75:3d: -+ fc:a3:6f:b0:10:80:b4:c5:51:9b:b8:5e:9d:cc:21:38:bc:e9: -+ 54:11:76:d8:df:46:88:f5:02:b3:6a:02:e2:8c:cd:d8:f7:4e: -+ ff:fd:5f:e3:b9:db:52:cb:54:39:29:9a:e6:07:84:ea:38:3f: -+ 3d:4c:87:ce:6c:5f:c8:18:56:8a:54:8e:6a:d3:f2:77:34:a6: -+ 6d:f3:5a:51:8a:0d:23:bd:7e:01:07:af:0e:fd:97:73:64:27: -+ 26:cc:34:d8:1f:f3:58:8b:7f:4b:75:df:39:ff:92:dc:e3:04: -+ ea:42:7c:11:7f:77:ab:32:29:c7:59:7e:5d:84:2d:cd:1d:2c: -+ 61:d4:be:5d:9b:0e:30:2b:31:7e:4f:e6:07:e7:20:10:18:56: -+ 36:97:19:b3 - -----BEGIN CERTIFICATE----- --MIIDvzCCAqegAwIBAgIUJ5pvQcykmnMTVaO29D9x1YqokR4wDQYJKoZIhvcNAQEL --BQAwYzELMAkGA1UEBhMCSU4xCzAJBgNVBAgMAktBMQ8wDQYDVQQKDAZPcmFjbGUx --DjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBjZXJ0 --aWZpY2F0ZTAeFw0xOTA3MDExMjEwNTlaFw0yMDA2MzAxMjEwNTlaMHsxCzAJBgNV --BAYTAklOMQswCQYDVQQIDAJLQTESMBAGA1UEBwwJQmFuZ2Fsb3JlMQ8wDQYDVQQK --DAZPcmFjbGUxDjAMBgNVBAsMBU15U1FMMSowKAYDVQQDDCFNeVNRTCBDUkwgdGVz --dCBzZXJ2ZXIgY2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK --AoIBAQCzty1oYgjJW5AliZhMbgT0Xf/nThg322OrVtV+Or43zeZawnOnJKj5Gr8F --5hRfMX/0c4ucwonl/dlblKmntEimsJXSYhSzFUcmg2ljmbZIyvLvvR7eI0znKFQT --ygNJywemfedInQOIXTtHUPYXITQVxc1PQPnKEtu2UwwIw6ALaAMNRZ9PJsMjP+9v --SpgNaiu1SiPjiQi9wDfv276CTSZHk/TePwTvPNOX48TFZZ4v+YoT8nQSq/+Znu/Y --SBFVuvKXbgR1DuQYhTQgodrbYDWYDtBEJxeB0WpakyhHxE83JnLb2ampwuWQFsNJ --iWdoD+fdX6cpJmKlx2MPG/acuIbFAgMBAAGjUzBRMB0GA1UdDgQWBBRQDVM/N0wt --7vD3Z0hTNhjIUGVgOzAfBgNVHSMEGDAWgBSnLspTBVIGEr3t/8+4ujDneh+WRjAP --BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAXvmq8qfBa2XK9O4P5 --4e/ro7O0nOD9mq3B4hILn/rKmhS1Q5ZQ2lCxQpwVh1ayXdXOTtwOqZgLBW5XypkP --KJzVt9LBl9pfNLHyc0wnOcxAhoBjGHTjD8cCbXaYpiq14xOP2FxCjjPF3Q68BZCW --mrje1URXR3DJJgpLlgqV3o609h+OlkEd1mUoHPNtPbGyOMf2ufP+pJj+RUbSBKNA --dl8932Bx3Yq9g7O+VIf1341A6GjBkJDc3hvjLEUrUFOylR/I6q1yXVuUIevTFEpB --f8SqiEGoH2H7UQ1Y4C0IhklihIXaj57NGvcRtaFYVtjrp5ktG9+YZZ+Pq5vgMpUj --IM+C -+MIIDdTCCAl0CAQEwDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMCSU4xEjAQBgNV -+BAgMCUthcm5hdGFrYTESMBAGA1UEBwwJQmVuZ2FsdXJ1MQ8wDQYDVQQKDAZPcmFj -+bGUxDjAMBgNVBAsMBU15U1FMMSYwJAYDVQQDDB1NeVNRTCBDUkwgdGVzdCBjYSBj -+ZXJ0aWZpY2F0ZTAeFw0yMDA3MDEwNzUwNDFaFw0zMDA1MTAwNzUwNDFaMIGCMQsw -+CQYDVQQGEwJJTjESMBAGA1UECAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1 -+cnUxDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxKjAoBgNVBAMMIU15 -+U1FMIENSTCB0ZXN0IHNlcnZlciBjZXJ0aWZpY2F0ZTCCASIwDQYJKoZIhvcNAQEB -+BQADggEPADCCAQoCggEBAPZD1Ts3hp9Up5YjxpBzost5vHcaGNyuMDZcQeWn0LyT -+CH57LJoAv50Pq4JW5q3xOmriSV0CWQ4DEGOxg/lzGUDsiqAeF8lTdMrKKy96h5jc -+EubI2W47vNPF8/T6FOJaEvI6eYK3qW8h9sd5oMdWBagBZOjwZ4EpryHcCAKOuM84 -+8e+m6hgUQ2Mh6KP+eHi58gRqyDJIZk5uTyIoiUInQuX0djh3gIgtc8g2qyRAaPw0 -+g7ocB5njPWlJCM1PdINOM1rEh2V/hNxzgJNVIVpNhpewipPRvGPFGbCKd4WvyXTP -+3UsXjM9isLwaOz+0GGvnrU5Wyym+MU/uO4mX1vq9WysCAwEAATANBgkqhkiG9w0B -+AQsFAAOCAQEAUb0fLWTLjNMC8v9+ZTr6eExLZVyKdUkk3xQXa4SiauG41oR0Inzj -+vD59gccq39a8e75EpyZjHQnB6iWFSxSzL/ilKPRyNvxx0MmNsrPWiCpOmPIi+svI -+TXvAO4Hx3fkpvfRppIKHxjtPL3U9/KNvsBCAtMVRm7hencwhOLzpVBF22N9GiPUC -+s2oC4ozN2PdO//1f47nbUstUOSma5geE6jg/PUyHzmxfyBhWilSOatPydzSmbfNa -+UYoNI71+AQevDv2Xc2QnJsw02B/zWIt/S3XfOf+S3OME6kJ8EX93qzIpx1l+XYQt -+zR0sYdS+XZsOMCsxfk/mB+cgEBhWNpcZsw== - -----END CERTIFICATE----- -diff --git a/mysql-test/std_data/crl-server-key.pem b/mysql-test/std_data/crl-server-key.pem -index 2931329d242..dfc34c9ebac 100644 ---- a/mysql-test/std_data/crl-server-key.pem -+++ b/mysql-test/std_data/crl-server-key.pem -@@ -1,27 +1,27 @@ - -----BEGIN RSA PRIVATE KEY----- --MIIEogIBAAKCAQEAs7ctaGIIyVuQJYmYTG4E9F3/504YN9tjq1bVfjq+N83mWsJz --pySo+Rq/BeYUXzF/9HOLnMKJ5f3ZW5Spp7RIprCV0mIUsxVHJoNpY5m2SMry770e --3iNM5yhUE8oDScsHpn3nSJ0DiF07R1D2FyE0FcXNT0D5yhLbtlMMCMOgC2gDDUWf --TybDIz/vb0qYDWortUoj44kIvcA379u+gk0mR5P03j8E7zzTl+PExWWeL/mKE/J0 --Eqv/mZ7v2EgRVbryl24EdQ7kGIU0IKHa22A1mA7QRCcXgdFqWpMoR8RPNyZy29mp --qcLlkBbDSYlnaA/n3V+nKSZipcdjDxv2nLiGxQIDAQABAoIBAArXuGOd1o3feljp --bkjeMmpT6YaZDZkBIYhK2uKcxLE1OPqs1LF24sL0vCWs9fmwUNn8xqWUjyFTKXP/ --CiVWGTQFX2SsCjerxvkp4Ifj1D2cEQAp1tzsIE2p/ziabYxcNX/0BKo63uWxSkxJ --NC+9DxlpL7PiZa+tZ5gedpFozBUj/XjWTLmekqGUjLf4I0b1bWyekp3o5Xpb0bVK --aic708sTzkBAq7kiwzCAE6q2xjT9d61WoFfKoG/X64Y0kIynwIBrFvX4g8+NcY4D --nTxOw1AwOAPRE/aG+BA1jgi6Uz1IdPl59lHWadVD6O4B8otRFPYBH4yeGBxzsVoS --eqwd9RkCgYEA2R8qQF3Wk/BPu6ztGqLe/5FyuxQlYjjIXyiiStjArjE2B0X+G9I3 --qL3DQNdD242VdcdwQswKQ7jI9hUDh53dE/Tg2v1ib/x57Su6nsIjVE7LZA9WsAM9 --6BF5+Y/+siLZDw91nRao/z7hx0+9VcHgBA9dhe+LKHcxoDRxPXO1nFMCgYEA0+VR --AfmEOQe98OjEnK561P2kcK1+n7RoHApr2+x+74wZNn5LygxqBLNT6WYCn47b8WoD --Ly1RkLpavjCNAMTs8er2WOvb/X4+vf4FdE1K469UwtUNBPqRAqmXrXgrZOgJZDDx --duXtP0wLRrJDKcgjLpRALxjeYowWvrnJn3uVrYcCgYBE+PyAFA89UcLSeL2dj43N --nBPZUC4MBMPKTus3YaHb9DAYoWh2yBH8XcPwDjI1RcXr8147Kfw8xS+51LUZWNHJ --LCpeBs5FiuvkptaS5lM4zgsYjzLXmUAKP7sCx3Z+ekl/2kZfj7pB02T/3tnjq0IR --qBvql00anrq6DM7IWcCglwKBgCYgTMMeMjxQuExwlW/btR49xSjBDteNjm39MgsQ --MobHnoG/l8NzGGBgI+kLAc3T1p9Jg+kpLlPsNAeklLpetIOS02CMj7i8zm1BF5ol --jiQJmCa2TvFmZFEmUrRTuvsdBROR+uB53oZVGHJQAOWzrSDka+gNgXYZ3r3SkASy --J+xhAoGAZDfOH5UvaMbLxZOV3NgW7P8wiHmshSfsJLdAsLPIBPJQ9ZCdW9oJwe3t --b1b0O5pbyGX+wtaol03G7vEFuD6ptRSfH127qKjoAZUTZ6IAmyDBe9kx4giA+n08 --3xyYLSxoMe+RYfF5BuBTc3g7X5/APTr9yG/Une40xiK2QOGSut0= -+MIIEowIBAAKCAQEA9kPVOzeGn1SnliPGkHOiy3m8dxoY3K4wNlxB5afQvJMIfnss -+mgC/nQ+rglbmrfE6auJJXQJZDgMQY7GD+XMZQOyKoB4XyVN0ysorL3qHmNwS5sjZ -+bju808Xz9PoU4loS8jp5grepbyH2x3mgx1YFqAFk6PBngSmvIdwIAo64zzjx76bq -+GBRDYyHoo/54eLnyBGrIMkhmTm5PIiiJQidC5fR2OHeAiC1zyDarJEBo/DSDuhwH -+meM9aUkIzU90g04zWsSHZX+E3HOAk1UhWk2Gl7CKk9G8Y8UZsIp3ha/JdM/dSxeM -+z2KwvBo7P7QYa+etTlbLKb4xT+47iZfW+r1bKwIDAQABAoIBAHF3R6QFLW30H1M6 -+IJ8l6HhAGun1iEcFqwkg8OvTqoV4aY19S0uZ1K+VLLzdNWQnpXbh1FOaZVXja4XD -+oL8qnRQg6K5lryf/3+wfwk4Z8qgnnj3fhO8ZbyNULddN8ploTxp0ftAPt22RBJdc -+Hww5Qlnqaog5XDdS8XJ0YuxqvhQbjVk/U6e7IltruByFv9bzYiT+QsZf/KJ/mDlk -+ypR/Ic9RM5eqX/86lDxrBacilE/8nBCFUbr7RlnXJhgEKf0DCYJTN2BS+4iwydaA -+TP6a/gZK64Q0JR9BGmYjAtPdl4as3pHlgi7LwIQeF97KwW9mZdAC1L/9FCu9W1Bk -+sOGBAiECgYEA/etLZdqrX5OqymN49PyEb8sQzTWojavLKrZiU6uKlPJH3qjWlu9J -+dlwW4azsgrYL2ISlAbgCo/QZ9H08CrHdumh9EQtYcZtszjjwicag5NtK1NboeZjR -+R0aJBVkNu2xkREEPd2XLNkm+U/FZ5HueGnphkGP/hWLTI+7M/abPAh0CgYEA+Eh7 -+A1C3PgcqLSMjXq9axLjJ23o10AAp/H+aogb7LAyKNvkT16Tw+5DSsB2hDbETKxSg -+aQD/9N/bjiGHnK0CaEi/ft4vYoIzrRpQwgst90jRZfwgJyA4wCRfcPaKSa5y8jQm -+OwSetRTO5gKJirNZbxkzSBwaRBTWZRy1Vouhz+cCgYEA1FO3Prq15zxB6u93K9Uk -+oZ76s76U7bKkN1k/q5ucTKS0eHpSxu/dTD4BXEEPnNXB3hI9MMzAWH08XveCB6do -+NAI/4srL8GP5fhCbA3q2++hsEMKMr3GcPq+60GABXaJrza9h0YOrg//ySZtegfLk -+6FtBzk3wU4ep6zg67jhYjfkCgYAgb8eybS8jaWg3MWoDisE/Bi1JATRakkrp8/nN -+xT+3R4QfHndbKu9YzljYLWbHFSU98ZnrXfgSk9RpQzQmYev4l9h8yKZEJmJ98Pwv -+/anprpe8zS2eLvV7FMVrSqpSafoWbn24JChf2/IT1q0Fc9zxSMeMWi+MSXShDRkb -+z246bQKBgC4sdYIG51PQaP/1vqPZg7CoCsNCepqM8UAnQ7piEdGis+w8pIcmYRnG -+Q/OuCdSxVlgS0xDtuFlTMrivUfpsPrgEtQNwkkvWATytYZWL2CpvDKKV2GzgHai/ -+ZgiuN7FSqdLq/hRCuJT5Sxo84ilFXb0i0cpaPKfNfE9gLZ8pUbsm - -----END RSA PRIVATE KEY----- -diff --git a/mysql-test/std_data/crldir/5df06fcb.r0 b/mysql-test/std_data/crldir/5df06fcb.r0 -new file mode 100644 -index 00000000000..1ee040e4bb0 ---- /dev/null -+++ b/mysql-test/std_data/crldir/5df06fcb.r0 -@@ -0,0 +1,13 @@ -+-----BEGIN X509 CRL----- -+MIIB7jCB1wIBATANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJJTjESMBAGA1UE -+CAwJS2FybmF0YWthMRIwEAYDVQQHDAlCZW5nYWx1cnUxDzANBgNVBAoMBk9yYWNs -+ZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMMHU15U1FMIENSTCB0ZXN0IGNhIGNl -+cnRpZmljYXRlFw0yMDA3MDEwNzU0MjlaFw0zMDA1MTAwNzU0MjlaMBQwEgIBAxcN -+MjAwNzAxMDc1NDE4WqAPMA0wCwYDVR0UBAQCAhAAMA0GCSqGSIb3DQEBCwUAA4IB -+AQCNdrbGhC31FPo0LwtkfCDAZQNgimudQg23UZOSdbUoXS9HDm2i38ehuZVJwoNe -+NkF3Y7Qli2DZ+CVObkWUP6OGo7XM8LXraE4e9tld4lCm5VAOoG/oS2afHw1e4WPp -+yZZ9mLZWXs4/0kK00xhzys56QnEpex+/B4jP0o4dMZwAkqJdvHgPe/EC/u3XsdyN -+JZrVAcHYrP2iQZa9m3LLlfWFqYizdDDJgl2LyNaKXJLo5wnxE3P6BVYc4t2etUlx -+gmfm41dTyPffZkR61vhPRF9+MOt72RXb4tCFRZp71ML4RA9fjNA1RaHGguhDSXMJ -+O7qaJAAfPHo4vea1uEXjM9PJ -+-----END X509 CRL----- -diff --git a/mysql-test/std_data/crldir/b23bb52f.r0 b/mysql-test/std_data/crldir/b23bb52f.r0 -deleted file mode 100644 -index b0093e74369..00000000000 ---- a/mysql-test/std_data/crldir/b23bb52f.r0 -+++ /dev/null -@@ -1,13 +0,0 @@ -------BEGIN X509 CRL----- --MIIB5TCBzgIBATANBgkqhkiG9w0BAQsFADBjMQswCQYDVQQGEwJJTjELMAkGA1UE --CAwCS0ExDzANBgNVBAoMBk9yYWNsZTEOMAwGA1UECwwFTXlTUUwxJjAkBgNVBAMM --HU15U1FMIENSTCB0ZXN0IGNhIGNlcnRpZmljYXRlFw0xOTA3MDExMjI0MDhaFw0y --OTA2MjgxMjI0MDhaMCcwJQIUJ5pvQcykmnMTVaO29D9x1YqokSAXDTE5MDcwMTEy --MjMyOVqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQBBz2QsDDx1 --IaSrfGT197nSa/uOGQVVA6VwOD1NeaZjz8WqdBa4nX+QDdc0RvNbNu4wX8ZF83a3 --wptIoU3lF53GtaFFqmBJ5iLSiuJwbfrjtNokyUn7Z95tlKmfhN4cyI7/3FM/TYuu --SdqqR0k8SmjhuAStNSM4N6kYgZeAP+zO2c1DU6dpUnnwwDc5W2UJsMLZX9zgyAHc --SgITMjokKs/0Zi+b7CFczPqq9Hwd28AynlGbNOWs3K1z6oCP3IyeFSAUDbVz9U7B --WtsqEwkjPN5afbiU6dRoG+lPiqp9UGD5gyKCLtAXJjCJcEdDKbuDVKYaBfS8ZOm4 --dRhzrDB6GMxR -------END X509 CRL----- diff --git a/community-mysql-lto.patch b/community-mysql-lto.patch deleted file mode 100644 index 6155ae0..0000000 --- a/community-mysql-lto.patch +++ /dev/null @@ -1,119 +0,0 @@ -commit dfd43f7d5527680fd27a29c80e8eb3b9b5165220 -Author: Tor Didriksen -Date: Mon Aug 3 16:39:21 2020 +0200 - - Bug #31701553 CMAKE CODE TO DISABLE LTO IS TOO SIMPLE - - Parts of our codebase (3rd party libraries) fail to compile/link if built with -flto. - For these we simply remove "-flto[=n|auto|jobserver] from - CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. - - We also disable linkers lld and gold by default if building with - link-time optimization. - - Change-Id: I84e9f7128a4d263056aa60c188e6430ea7161655 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index dc118b37472..919e7cbd783 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -639,6 +639,10 @@ OPTION(WITH_LTO - ${WITH_LTO_DEFAULT} - ) - -+IF(CMAKE_C_FLAGS MATCHES " -flto" OR CMAKE_CXX_FLAGS MATCHES " -flto") -+ SET(CMAKE_COMPILER_FLAG_WITH_LTO 1) -+ENDIF() -+ - include(CheckCSourceCompiles) - include(CheckCXXSourceCompiles) - # We need some extra FAIL_REGEX patterns -@@ -848,7 +852,7 @@ ENDIF() - # Use lld for Clang if available and not explicitly disabled. - # Also works for gcc on Debian/Ubuntu. Do 'apt install lld'. - # LTO build fails with lld, so turn it off by default. --IF(LINUX AND NOT WITH_LTO) -+IF(LINUX AND NOT WITH_LTO AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) - OPTION(USE_LD_LLD "Use llvm lld linker" ON) - ELSE() - OPTION(USE_LD_LLD "Use llvm lld linker" OFF) -@@ -879,7 +883,11 @@ IF(USE_LD_LLD) - ENDIF() - - # Use gold on x86 if available and not explicitly disabled. --IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT WIN32) -+# LTO build fails with gold, so turn it off by default. -+IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" -+ AND NOT WIN32 -+ AND NOT WITH_LTO -+ AND NOT CMAKE_COMPILER_FLAG_WITH_LTO) - OPTION(USE_LD_GOLD "Use GNU gold linker" ON) - ELSE() - OPTION(USE_LD_GOLD "Use GNU gold linker" OFF) -diff --git a/cmake/compile_flags.cmake b/cmake/compile_flags.cmake -index 053e48b9e70..bb1338ee9f8 100644 ---- a/cmake/compile_flags.cmake -+++ b/cmake/compile_flags.cmake -@@ -1,4 +1,4 @@ --# Copyright (c) 2014, 2019, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2014, 2020, Oracle and/or its affiliates. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License, version 2.0, -@@ -83,3 +83,12 @@ FUNCTION(ADD_COMPILE_DEFINITIONS) - ${FILE} PROPERTIES COMPILE_DEFINITIONS "${DEFS}") - ENDFOREACH() - ENDFUNCTION() -+ -+# -flto[=n] or -flto=auto or -flto=jobserver -+SET(MY_COMPILER_FLAG_FLTO " -flto(=[0-9a-z]+)?") -+ -+# Remove compiler flag/pattern from CMAKE_C_FLAGS or CMAKE_CXX_FLAGS -+FUNCTION(REMOVE_CMAKE_COMPILER_FLAGS FLAG_VAR PATTERN) -+ STRING(REGEX REPLACE "${PATTERN}" "" ${FLAG_VAR} "${${FLAG_VAR}}") -+ SET(${FLAG_VAR} "${${FLAG_VAR}}" PARENT_SCOPE) -+ENDFUNCTION() -diff --git a/extra/icu/CMakeLists.txt b/extra/icu/CMakeLists.txt -index aa1cfb1a90e..81ef19335a0 100644 ---- a/extra/icu/CMakeLists.txt -+++ b/extra/icu/CMakeLists.txt -@@ -1,4 +1,4 @@ --# Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2017, 2020, Oracle and/or its affiliates. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License, version 2.0, -@@ -91,8 +91,10 @@ IF(MSVC AND NOT WIN32_CLANG) - STRING_APPEND(CMAKE_CXX_FLAGS " /wd4229") - ENDIF() - --STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") --STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+IF(WITH_ICU STREQUAL "bundled") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") -+ENDIF() - - ADD_SUBDIRECTORY(source/common) - ADD_SUBDIRECTORY(source/i18n) -diff --git a/plugin/innodb_memcached/CMakeLists.txt b/plugin/innodb_memcached/CMakeLists.txt -index b9d93da5f20..00bbddeb3ec 100644 ---- a/plugin/innodb_memcached/CMakeLists.txt -+++ b/plugin/innodb_memcached/CMakeLists.txt -@@ -1,4 +1,4 @@ --# Copyright (c) 2011, 2019, Oracle and/or its affiliates. All rights reserved. -+# Copyright (c) 2011, 2020, Oracle and/or its affiliates. - # - # This program is free software; you can redistribute it and/or modify - # it under the terms of the GNU General Public License, version 2.0, -@@ -76,8 +76,8 @@ IF(WITH_INNODB_MEMCACHED AND UNIX) - ENDIF() - - # -Werror=lto-type-mismatch for misc functions. -- STRING(REPLACE "-flto" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -- STRING(REPLACE "-flto" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_C_FLAGS "${MY_COMPILER_FLAG_FLTO}") -+ REMOVE_CMAKE_COMPILER_FLAGS(CMAKE_CXX_FLAGS "${MY_COMPILER_FLAG_FLTO}") - - ADD_SUBDIRECTORY(daemon_memcached) - ADD_SUBDIRECTORY(innodb_memcache) diff --git a/community-mysql-scripts.patch b/community-mysql-scripts.patch index 7c0a9f0..322577b 100644 --- a/community-mysql-scripts.patch +++ b/community-mysql-scripts.patch @@ -1,10 +1,8 @@ -diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt -index 8217bb76..4149a764 100644 ---- a/scripts/CMakeLists.txt -+++ b/scripts/CMakeLists.txt -@@ -513,4 +513,30 @@ ELSE() - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ - ) +--- mysql-8.0.22/scripts/CMakeLists.txt.old 2020-10-21 11:08:50.654252563 +0200 ++++ mysql-8.0.22/scripts/CMakeLists.txt 2020-10-21 11:11:33.635935366 +0200 +@@ -507,4 +507,30 @@ + ) + ENDIF() ENDIF() + + # files for systemd diff --git a/community-mysql.spec b/community-mysql.spec index 2af4381..e9dcb53 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -43,7 +43,7 @@ # For deep debugging we need to build binaries with extra debug info %bcond_with debug -%global boost_bundled_version 1.72.0 +%global boost_bundled_version 1.73.0 # Include files for systemd %global daemon_name mysqld @@ -72,8 +72,8 @@ %global sameevr %{?epoch:%{epoch}:}%{version}-%{release} Name: community-mysql -Version: 8.0.21 -Release: 16%{?with_debug:.debug}%{?dist} +Version: 8.0.22 +Release: 1%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -111,8 +111,6 @@ Patch51: %{pkgnamepatch}-chain-certs.patch Patch52: %{pkgnamepatch}-sharedir.patch Patch55: %{pkgnamepatch}-rpath.patch Patch75: %{pkgnamepatch}-arm32-timer.patch -Patch76: %{pkgnamepatch}-certs-expired.patch -Patch77: %{pkgnamepatch}-lto.patch Patch78: %{pkgnamepatch}-gcc11.patch # Patches taken from boost 1.59 @@ -380,8 +378,6 @@ the MySQL sources. %patch52 -p1 %patch55 -p1 %patch75 -p1 -%patch76 -p1 -%patch77 -p1 %patch78 -p1 # Patch Boost @@ -407,6 +403,9 @@ add_test collations.chinese sporadic since 8.0.19 # Fails when -DENABLED_LOCAL_INFILE=ON add_test main.mysql_load_data_local_dir local infile on +add_test rpl.rpl_row_jsondiff_basic_pk failed since 8.0.22 +add_test rpl.rpl_row_jsondiff_basic_nokey failed since 8.0.22 + # These tests fail on armv7hl; last check 8.0.16 %ifarch %arm aarch64 add_test gis.st_latitude @@ -448,6 +447,12 @@ add_test gis.spatial_operators_union %endif +%ifarch %arm +# Fails since 8.0.22 +add_test perfschema.relaylog + +%endif + # mysql-test popd @@ -571,8 +576,6 @@ install -p -m 644 %{_vpath_builddir}/scripts/mysql-scripts-common %{buildroot}%{ install -D -p -m 0644 %{_vpath_builddir}/scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf rm %{buildroot}%{_libdir}/mysql/*.a -rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server -rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server rm %{buildroot}%{_mandir}/man1/comp_err.1* # put logrotate script where it needs to be @@ -784,6 +787,7 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror +%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -833,15 +837,12 @@ fi %{_mandir}/man1/myisamlog.1* %{_mandir}/man1/myisampack.1* %{_mandir}/man1/myisam_ftdump.1* -%{_mandir}/man1/mysql.server.1* %{_mandir}/man1/my_print_defaults.1* %{_mandir}/man1/mysql_secure_installation.1* %{_mandir}/man1/mysql_ssl_rsa_setup.1* %{_mandir}/man1/mysql_tzinfo_to_sql.1* %{_mandir}/man1/mysql_upgrade.1* %{_mandir}/man1/mysqldumpslow.1* -%exclude %{_mandir}/man1/mysqld_multi.1* -%exclude %{_mandir}/man1/mysqld_safe.1* %{_mandir}/man1/mysqlman.1* %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* @@ -970,13 +971,18 @@ fi %endif %changelog +* Wed Oct 21 2020 Lukas Javorsky - 8.0.22-1 +- Update to MySQL 8.0.22 +- community-mysql-certs-expired.patch patched by upstream +- community-mysql-lto.patch patched by upstream + * Tue Oct 20 2020 Jeff Law - 8.0.21-16 - Fix another missing #include for gcc-11 -* Thu Oct 6 2020 Jeff Law - 8.0.21-15 +* Tue Oct 06 2020 Jeff Law - 8.0.21-15 - Add missing #include for gcc-11 -* Thu Oct 1 13:33:42 CEST 2020 Zbigniew JÄ™drzejewski-Szmek - 8.0.21-14 +* Thu Oct 01 13:33:42 CEST 2020 Zbigniew JÄ™drzejewski-Szmek - 8.0.21-14 - Rebuilt for libevent 2.1.12 (again) * Wed Sep 23 2020 Adrian Reber - 8.0.21-13 diff --git a/sources b/sources index 53123a2..0b0d5f6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (mysql-boost-8.0.21.tar.gz) = 18128edd7d9604ea69bd308f372d6663ef3629503969148e3a2117175c4ef625358b31b96e0e1b8d10a87037719e3cb61d5c71eee1e26ab0e0a1731977a2d7c1 +SHA512 (mysql-boost-8.0.22.tar.gz) = 792f2ada93ec67a4679228478c6b798e81d9e9f6d13c7f4977cb7682738a4aae3cb483294edc6b2fde16c3960e51af8786216c063ab500840afd39a609e4b612 From 87520dee8c94d8b2ef6eca74e757fc2c4009936d Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 26 Oct 2020 14:00:44 +0100 Subject: [PATCH 269/274] Add failing test for s390x arch --- community-mysql.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index e9dcb53..d0d1805 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -445,6 +445,9 @@ add_test x.resource_groups add_test gis.spatial_operators_symdifference add_test gis.spatial_operators_union +# Fails since 8.0.22 +add_test main.subquery_bugs + %endif %ifarch %arm From 08e55cba75b03b8bb7da6eba7bb0f93e4c5327e3 Mon Sep 17 00:00:00 2001 From: Lukas Javorsky Date: Mon, 26 Oct 2020 14:15:46 +0100 Subject: [PATCH 270/274] Add missing parts for 8.0.22 rebase This missing parts was in patch created by Lars Tangvald --- community-mysql.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/community-mysql.spec b/community-mysql.spec index d0d1805..d49a94a 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -648,9 +648,8 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian} %endif %if %{without test} -rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process} +rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process,zlib_decompress} rm -r %{buildroot}%{_datadir}/mysql-test -rm %{buildroot}%{_mandir}/man1/mysql_client_test.1* %endif %check @@ -790,7 +789,6 @@ fi %{_bindir}/mysqldumpslow %{_bindir}/innochecksum %{_bindir}/perror -%{_bindir}/zlib_decompress %config(noreplace) %{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf @@ -850,7 +848,6 @@ fi %{_mandir}/man1/innochecksum.1* %{_mandir}/man1/perror.1* %{_mandir}/man1/lz4_decompress.1* -%{_mandir}/man1/zlib_decompress.1* %{_mandir}/man8/mysqld.8* %{_datadir}/%{pkg_name}/dictionary.txt @@ -892,7 +889,9 @@ fi %{_bindir}/mysqlxtest %{_bindir}/mysqld_safe %{_bindir}/comp_err +%{_bindir}/zlib_decompress %attr(-,mysql,mysql) %{_datadir}/mysql-test +%{_mandir}/man1/zlib_decompress.1* %dir %{_libdir}/mysql/plugin %{_libdir}/mysql/plugin/auth.so From 80feb8cd7cece4da000ea2cfb6ef867ce67dea71 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 17 Dec 2020 03:46:31 +0000 Subject: [PATCH 271/274] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- community-mysql.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/community-mysql.spec b/community-mysql.spec index d49a94a..5f8e306 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -188,6 +188,7 @@ BuildRequires: perl(Time::HiRes) BuildRequires: perl(Time::localtime) BuildRequires: perl(warnings) BuildRequires: systemd +BuildRequires: make From 9b9c178978beb90e7d100a09bf7a655ad12a0bd0 Mon Sep 17 00:00:00 2001 From: Adrian Reber Date: Tue, 12 Jan 2021 14:21:48 +0100 Subject: [PATCH 272/274] Rebuilt for protobuf 3.14 --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index 5f8e306..cc6eead 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.22 -Release: 1%{?with_debug:.debug}%{?dist} +Release: 2%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -974,6 +974,9 @@ fi %endif %changelog +* Tue Jan 12 14:21:47 CET 2021 Adrian Reber - 8.0.22-2 +- Rebuilt for protobuf 3.14 + * Wed Oct 21 2020 Lukas Javorsky - 8.0.22-1 - Update to MySQL 8.0.22 - community-mysql-certs-expired.patch patched by upstream From 25d9935f017a1263fe5a80c2ed5b17167ddb452b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 02:23:17 +0000 Subject: [PATCH 273/274] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- community-mysql.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/community-mysql.spec b/community-mysql.spec index cc6eead..a223d9e 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -73,7 +73,7 @@ Name: community-mysql Version: 8.0.22 -Release: 2%{?with_debug:.debug}%{?dist} +Release: 3%{?with_debug:.debug}%{?dist} Summary: MySQL client programs and shared libraries URL: http://www.mysql.com @@ -974,6 +974,9 @@ fi %endif %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 8.0.22-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Jan 12 14:21:47 CET 2021 Adrian Reber - 8.0.22-2 - Rebuilt for protobuf 3.14 From f2b2d7549211cd8f78f47d79e3f9da4e08374016 Mon Sep 17 00:00:00 2001 From: Michal Schorm Date: Thu, 28 Jan 2021 12:07:50 +0100 Subject: [PATCH 274/274] Update failing and unstable tests list --- community-mysql.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/community-mysql.spec b/community-mysql.spec index a223d9e..0521c06 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -457,6 +457,15 @@ add_test perfschema.relaylog %endif +# Fails since 2021 new year +add_test main.cast +add_test innodb.alter_kill +# Unstable tests +add_test innodb.innodb_read_only +add_test perfschema.processlist_acl +add_test innodb.innodb_bug-13628249 + + # mysql-test popd