[MySQL] Initial import -- renaming package mysql to MySQL.

Honza Horak hhorak at fedoraproject.org
Tue Mar 5 17:49:03 UTC 2013


commit 4119cc43ece8507ce5c6614612e8c6673f884b0c
Author: Honza HorĂ¡k <hhorak at redhat.com>
Date:   Tue Mar 5 18:47:15 2013 +0100

    Initial import -- renaming package mysql to MySQL.

 .gitignore                  |    1 +
 MySQL-chain-certs.patch     |   41 +
 MySQL-cipherspec.patch      |  115 +++
 MySQL-dh1024.patch          |   63 ++
 MySQL-dubious-exports.patch |  169 ++++
 MySQL-errno.patch           |   21 +
 MySQL-expired-certs.patch   |  555 +++++++++++++
 MySQL-file-contents.patch   |   27 +
 MySQL-install-test.patch    |   52 ++
 MySQL-logrotate.patch       |   66 ++
 MySQL-netdevname.patch      |   59 ++
 MySQL-plugin-bool.patch     |   42 +
 MySQL-plugin-test.patch     |   96 +++
 MySQL-s390-tsc.patch        |   41 +
 MySQL-stack-guard.patch     |  139 ++++
 MySQL-string-overflow.patch |   57 ++
 MySQL-strmov.patch          |   34 +
 MySQL-va-list.patch         |   55 ++
 MySQL-versioning.patch      |   18 +
 MySQL.spec                  | 1888 +++++++++++++++++++++++++++++++++++++++++++
 MySQL.tmpfiles.d            |    1 +
 README.mysql-docs           |    4 +
 README.mysql-license        |    6 +
 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 +
 35 files changed, 3996 insertions(+), 0 deletions(-)
---
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-chain-certs.patch b/MySQL-chain-certs.patch
new file mode 100644
index 0000000..164c22e
--- /dev/null
+++ b/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/MySQL-cipherspec.patch b/MySQL-cipherspec.patch
new file mode 100644
index 0000000..5210055
--- /dev/null
+++ b/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 at loca
+ grant select on test.* to ssl_user5 at 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 at 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/MySQL-dh1024.patch b/MySQL-dh1024.patch
new file mode 100644
index 0000000..620ee0b
--- /dev/null
+++ b/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/MySQL-dubious-exports.patch b/MySQL-dubious-exports.patch
new file mode 100644
index 0000000..4a88d1d
--- /dev/null
+++ b/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 <my_pthread.h>				/* because of signal()	*/
+ #include <sys/stat.h>
+ #include <mysql.h>
++#include <password.h>       /* my_make_scrambled_password_323, my_make_scrambled_password */
+ #include <sql_common.h>
+ #include <welcome_copyright_notice.h>           /* ORACLE_WELCOME_COPYRIGHT_NOTICE */
+ 
+@@ -989,9 +990,9 @@ static int execute_commands(MYSQL *mysql
+           }
+         }
+         if (old)
+-          make_scrambled_password_323(crypted_pw, typed_password);
++          my_make_scrambled_password_323(crypted_pw, typed_password, strlen(typed_password));
+         else
+-          make_scrambled_password(crypted_pw, typed_password);
++          my_make_scrambled_password(crypted_pw, typed_password, strlen(typed_password));
+       }
+       else
+ 	crypted_pw[0]=0;			/* No password */
+diff -up mysql-5.5.28/include/errmsg.h.p8 mysql-5.5.28/include/errmsg.h
+--- mysql-5.5.28/include/errmsg.h.p8	2012-08-29 10:50:46.000000000 +0200
++++ mysql-5.5.28/include/errmsg.h	2012-12-06 14:16:14.598520859 +0100
+@@ -24,6 +24,7 @@ extern "C" {
+ #endif
+ void	init_client_errs(void);
+ void	finish_client_errs(void);
++#define client_errors mysql_client_errors		/* namespace sanity */
+ extern const char *client_errors[];	/* Error messages */
+ #ifdef	__cplusplus
+ }
+diff -up mysql-5.5.28/include/mysql_com.h.p8 mysql-5.5.28/include/mysql_com.h
+--- mysql-5.5.28/include/mysql_com.h.p8	2012-08-29 10:50:46.000000000 +0200
++++ mysql-5.5.28/include/mysql_com.h	2012-12-06 14:16:14.599520860 +0100
+@@ -452,6 +452,7 @@ my_bool	my_net_init(NET *net, Vio* vio);
+ void	my_net_local_init(NET *net);
+ void	net_end(NET *net);
+   void	net_clear(NET *net, my_bool clear_buffer);
++#define net_realloc mysql_net_realloc		/* namespace sanity */
+ my_bool net_realloc(NET *net, size_t length);
+ my_bool	net_flush(NET *net);
+ my_bool	my_net_write(NET *net,const unsigned char *packet, size_t len);
+@@ -533,14 +534,12 @@ double my_rnd(struct rand_struct *);
+ void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
+ 
+ void hash_password(unsigned long *to, const char *password, unsigned int password_len);
+-void make_scrambled_password_323(char *to, const char *password);
+ void scramble_323(char *to, const char *message, const char *password);
+ my_bool check_scramble_323(const unsigned char *reply, const char *message,
+                            unsigned long *salt);
+ void get_salt_from_password_323(unsigned long *res, const char *password);
+ void make_password_from_salt_323(char *to, const unsigned long *salt);
+ 
+-void make_scrambled_password(char *to, const char *password);
+ void scramble(char *to, const char *message, const char *password);
+ my_bool check_scramble(const unsigned char *reply, const char *message,
+                        const unsigned char *hash_stage2);
+diff -up mysql-5.5.28/include/mysql.h.pp.p8 mysql-5.5.28/include/mysql.h.pp
+--- mysql-5.5.28/include/mysql.h.pp.p8	2012-08-29 10:50:46.000000000 +0200
++++ mysql-5.5.28/include/mysql.h.pp	2012-12-06 14:16:14.598520859 +0100
+@@ -86,7 +86,7 @@ my_bool my_net_init(NET *net, Vio* vio);
+ void my_net_local_init(NET *net);
+ void net_end(NET *net);
+   void net_clear(NET *net, my_bool clear_buffer);
+-my_bool net_realloc(NET *net, size_t length);
++my_bool mysql_net_realloc(NET *net, size_t length);
+ my_bool net_flush(NET *net);
+ my_bool my_net_write(NET *net,const unsigned char *packet, size_t len);
+ my_bool net_write_command(NET *net,unsigned char command,
+@@ -128,13 +128,11 @@ void randominit(struct rand_struct *, un
+ double my_rnd(struct rand_struct *);
+ void create_random_string(char *to, unsigned int length, struct rand_struct *rand_st);
+ void hash_password(unsigned long *to, const char *password, unsigned int password_len);
+-void make_scrambled_password_323(char *to, const char *password);
+ void scramble_323(char *to, const char *message, const char *password);
+ my_bool check_scramble_323(const unsigned char *reply, const char *message,
+                            unsigned long *salt);
+ void get_salt_from_password_323(unsigned long *res, const char *password);
+ void make_password_from_salt_323(char *to, const unsigned long *salt);
+-void make_scrambled_password(char *to, const char *password);
+ void scramble(char *to, const char *message, const char *password);
+ my_bool check_scramble(const unsigned char *reply, const char *message,
+                        const unsigned char *hash_stage2);
+diff -up mysql-5.5.28/include/my_sys.h.p8 mysql-5.5.28/include/my_sys.h
+--- mysql-5.5.28/include/my_sys.h.p8	2012-12-06 14:09:15.218170154 +0100
++++ mysql-5.5.28/include/my_sys.h	2012-12-06 14:16:14.598520859 +0100
+@@ -218,6 +218,7 @@ extern uint    my_large_page_size;
+ 
+ /* charsets */
+ #define MY_ALL_CHARSETS_SIZE 2048
++#define default_charset_info mysql_default_charset_info	/* namespace sanity */
+ extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *default_charset_info;
+ extern MYSQL_PLUGIN_IMPORT CHARSET_INFO *all_charsets[MY_ALL_CHARSETS_SIZE];
+ extern CHARSET_INFO compiled_charsets[];
+@@ -895,6 +896,9 @@ extern uint get_charset_number(const cha
+ extern uint get_collation_number(const char *name);
+ extern const char *get_charset_name(uint cs_number);
+ 
++#define get_charset mysql_get_charset		/* namespace sanity */
++#define get_charset_by_csname mysql_get_charset_by_csname
++
+ extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
+ extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
+ extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
+diff -up mysql-5.5.28/sql/password.c.p8 mysql-5.5.28/sql/password.c
+--- mysql-5.5.28/sql/password.c.p8	2012-08-29 10:50:46.000000000 +0200
++++ mysql-5.5.28/sql/password.c	2012-12-06 14:16:14.599520860 +0100
+@@ -155,23 +155,6 @@ void my_make_scrambled_password_323(char
+ 
+ 
+ /*
+-  Wrapper around my_make_scrambled_password_323() to maintain client lib ABI
+-  compatibility.
+-  In server code usage of my_make_scrambled_password_323() is preferred to
+-  avoid strlen().
+-  SYNOPSIS
+-    make_scrambled_password_323()
+-    to        OUT store scrambled password here
+-    password  IN  NULL-terminated string with user-supplied password
+-*/
+-
+-void make_scrambled_password_323(char *to, const char *password)
+-{
+-  my_make_scrambled_password_323(to, password, strlen(password));
+-}
+-
+-
+-/*
+     Scramble string with password.
+     Used in pre 4.1 authentication phase.
+   SYNOPSIS
+@@ -434,23 +417,6 @@ void my_make_scrambled_password(char *to
+   
+ 
+ /*
+-  Wrapper around my_make_scrambled_password() to maintain client lib ABI
+-  compatibility.
+-  In server code usage of my_make_scrambled_password() is preferred to
+-  avoid strlen().
+-  SYNOPSIS
+-    make_scrambled_password()
+-    buf       OUT buffer of size 2*SHA1_HASH_SIZE + 2 to store hex string
+-    password  IN  NULL-terminated password string
+-*/
+-
+-void make_scrambled_password(char *to, const char *password)
+-{
+-  my_make_scrambled_password(to, password, strlen(password));
+-}
+-
+-
+-/*
+     Produce an obscure octet sequence from password and random
+     string, recieved from the server. This sequence corresponds to the
+     password, but password can not be easily restored from it. The sequence
diff --git a/MySQL-errno.patch b/MySQL-errno.patch
new file mode 100644
index 0000000..ce9d7a1
--- /dev/null
+++ b/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.h>			/* errno is a define */
+-#else
+-extern int errno;			/* declare errno */
+-#endif
+-#endif					/* #ifndef errno */
++
+ extern char *home_dir;			/* Home directory for user */
+ extern const char *my_progname;		/* program-name (printed in errors) */
+ extern char curr_dir[];		/* Current directory for user */
diff --git a/MySQL-expired-certs.patch b/MySQL-expired-certs.patch
new file mode 100644
index 0000000..acd3a78
--- /dev/null
+++ b/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-----
+-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
+-/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-----
+-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
+ -----END RSA PRIVATE KEY-----
diff --git a/MySQL-file-contents.patch b/MySQL-file-contents.patch
new file mode 100644
index 0000000..73c680d
--- /dev/null
+++ b/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/MySQL-install-test.patch b/MySQL-install-test.patch
new file mode 100644
index 0000000..a31a280
--- /dev/null
+++ b/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/MySQL-logrotate.patch b/MySQL-logrotate.patch
new file mode 100644
index 0000000..f76237d
--- /dev/null
+++ b/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 !
+ 
+- at 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/MySQL-netdevname.patch b/MySQL-netdevname.patch
new file mode 100644
index 0000000..af17f13
--- /dev/null
+++ b/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 <sys/ioctl.h>
+ #include <net/ethernet.h>
+ 
++#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/MySQL-plugin-bool.patch b/MySQL-plugin-bool.patch
new file mode 100644
index 0000000..abea580
--- /dev/null
+++ b/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/MySQL-plugin-test.patch b/MySQL-plugin-test.patch
new file mode 100644
index 0000000..5d08c32
--- /dev/null
+++ b/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/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 $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/mysql
++--rmdir $MYSQLD_TMP_BASEDIR/share
+ 
+ --enable_abort_on_error
diff --git a/MySQL-s390-tsc.patch b/MySQL-s390-tsc.patch
new file mode 100644
index 0000000..f995266
--- /dev/null
+++ b/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/MySQL-stack-guard.patch b/MySQL-stack-guard.patch
new file mode 100644
index 0000000..c01c1a7
--- /dev/null
+++ b/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/MySQL-string-overflow.patch b/MySQL-string-overflow.patch
new file mode 100644
index 0000000..eaa40f6
--- /dev/null
+++ b/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/MySQL-strmov.patch b/MySQL-strmov.patch
new file mode 100644
index 0000000..2a78619
--- /dev/null
+++ b/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/MySQL-va-list.patch b/MySQL-va-list.patch
new file mode 100644
index 0000000..552457c
--- /dev/null
+++ b/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/MySQL-versioning.patch b/MySQL-versioning.patch
new file mode 100644
index 0000000..6374b6c
--- /dev/null
+++ b/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/MySQL.spec b/MySQL.spec
new file mode 100644
index 0000000..171d88c
--- /dev/null
+++ b/MySQL.spec
@@ -0,0 +1,1888 @@
+Name: MySQL
+Version: 5.5.30
+Release: 2%{?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 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.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: MySQL-errno.patch
+Patch2: MySQL-strmov.patch
+Patch3: MySQL-install-test.patch
+Patch4: MySQL-expired-certs.patch
+Patch5: MySQL-stack-guard.patch
+Patch6: MySQL-chain-certs.patch
+Patch7: MySQL-versioning.patch
+Patch8: MySQL-dubious-exports.patch
+Patch10: MySQL-plugin-bool.patch
+Patch11: MySQL-s390-tsc.patch
+Patch14: MySQL-va-list.patch
+Patch15: MySQL-netdevname.patch
+Patch16: MySQL-logrotate.patch
+Patch17: MySQL-plugin-test.patch
+Patch18: MySQL-cipherspec.patch
+Patch19: MySQL-file-contents.patch
+Patch20: MySQL-string-overflow.patch
+Patch21: MySQL-dh1024.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)
+# TODO: really needed? BuildRequires: perl(Data::Dumper), perl(Test::More)
+
+Requires: grep, fileutils, bash
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+%{?systemd_requires: %systemd_requires}
+
+# mariadb is MySQL replacement that is used in Fedora as a default
+# MySQL implementation
+Conflicts: mariadb
+# mysql-cluster used to be built from this SRPM, but no more
+Obsoletes: mysql-cluster < 5.1.44
+
+# When rpm 4.9 is universal, this could be cleaned up:
+%global __perl_requires %{SOURCE999}
+%global __perllib_requires %{SOURCE999}
+
+# By default, patch(1) creates backup files when chunks apply with offsets.
+# Turn that off to ensure such files don't get included in RPMs (cf bz#884755).
+%global _default_patch_flags --no-backup-if-mismatch
+
+%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
+Conflicts: mariadb-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 server
+
+Summary: The MySQL server and related files
+Group: Applications/Databases
+Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Requires: sh-utils
+Requires(pre): /usr/sbin/useradd
+Requires(post): chkconfig
+Requires(preun): chkconfig
+# 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
+
+%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
+
+%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
+Conflicts: mariadb-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
+
+%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
+
+%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}-libs%{?_isa} = %{version}-%{release}
+Requires: %{name}-server%{?_isa} = %{version}-%{release}
+Conflicts: mariadb-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.
+
+%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
+
+# 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/mysql \
+	-DINSTALL_MYSQLTESTDIR=share/mysql-test \
+	-DINSTALL_PLUGINDIR="%{_lib}/mysql/plugin" \
+	-DINSTALL_SBINDIR=libexec \
+	-DINSTALL_SCRIPTDIR=bin \
+	-DINSTALL_SQLBENCHDIR=share \
+	-DINSTALL_SUPPORTFILESDIR=share/mysql \
+	-DMYSQL_DATADIR="/var/lib/mysql" \
+	-DMYSQL_UNIX_ADDR="/var/lib/mysql/mysql.sock" \
+	-DENABLED_LOCAL_INFILE=ON \
+	-DENABLE_DTRACE=ON \
+	-DWITH_EMBEDDED_SERVER=ON \
+	-DWITH_READLINE=ON \
+	-DWITH_SSL=system \
+	-DWITH_ZLIB=system
+
+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 ../..
+
+%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
+
+# 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/*
+
+%dir %{_datadir}/mysql
+%{_datadir}/mysql/english
+%lang(cs) %{_datadir}/mysql/czech
+%lang(da) %{_datadir}/mysql/danish
+%lang(nl) %{_datadir}/mysql/dutch
+%lang(et) %{_datadir}/mysql/estonian
+%lang(fr) %{_datadir}/mysql/french
+%lang(de) %{_datadir}/mysql/german
+%lang(el) %{_datadir}/mysql/greek
+%lang(hu) %{_datadir}/mysql/hungarian
+%lang(it) %{_datadir}/mysql/italian
+%lang(ja) %{_datadir}/mysql/japanese
+%lang(ko) %{_datadir}/mysql/korean
+%lang(no) %{_datadir}/mysql/norwegian
+%lang(no) %{_datadir}/mysql/norwegian-ny
+%lang(pl) %{_datadir}/mysql/polish
+%lang(pt) %{_datadir}/mysql/portuguese
+%lang(ro) %{_datadir}/mysql/romanian
+%lang(ru) %{_datadir}/mysql/russian
+%lang(sr) %{_datadir}/mysql/serbian
+%lang(sk) %{_datadir}/mysql/slovak
+%lang(es) %{_datadir}/mysql/spanish
+%lang(sv) %{_datadir}/mysql/swedish
+%lang(uk) %{_datadir}/mysql/ukrainian
+%{_datadir}/mysql/charsets
+
+%files server
+%doc support-files/*.cnf
+
+%{_bindir}/myisamchk
+%{_bindir}/myisam_ftdump
+%{_bindir}/myisamlog
+%{_bindir}/myisampack
+%{_bindir}/mysql_convert_table_format
+%{_bindir}/mysql_fix_extensions
+%{_bindir}/mysql_install_db
+%{_bindir}/mysql_plugin
+%{_bindir}/mysql_secure_installation
+%{_bindir}/mysql_setpermission
+%{_bindir}/mysql_tzinfo_to_sql
+%{_bindir}/mysql_upgrade
+%{_bindir}/mysql_zap
+%{_bindir}/mysqlbug
+%{_bindir}/mysqldumpslow
+%{_bindir}/mysqld_multi
+%{_bindir}/mysqld_safe
+%{_bindir}/mysqlhotcopy
+%{_bindir}/mysqltest
+%{_bindir}/innochecksum
+%{_bindir}/perror
+%{_bindir}/replace
+%{_bindir}/resolve_stack_dump
+%{_bindir}/resolveip
+
+%{_libexecdir}/mysqld
+
+%{_libdir}/mysql/INFO_SRC
+%{_libdir}/mysql/INFO_BIN
+
+%{_libdir}/mysql/mysqlbug
+
+%{_libdir}/mysql/plugin
+
+%{_mandir}/man1/msql2mysql.1*
+%{_mandir}/man1/myisamchk.1*
+%{_mandir}/man1/myisamlog.1*
+%{_mandir}/man1/myisampack.1*
+%{_mandir}/man1/mysql_convert_table_format.1*
+%{_mandir}/man1/myisam_ftdump.1*
+%{_mandir}/man1/mysql.server.1*
+%{_mandir}/man1/mysql_fix_extensions.1*
+%{_mandir}/man1/mysql_install_db.1*
+%{_mandir}/man1/mysql_plugin.1*
+%{_mandir}/man1/mysql_secure_installation.1*
+%{_mandir}/man1/mysql_upgrade.1*
+%{_mandir}/man1/mysql_zap.1*
+%{_mandir}/man1/mysqlbug.1*
+%{_mandir}/man1/mysqldumpslow.1*
+%{_mandir}/man1/mysqlbinlog.1*
+%{_mandir}/man1/mysqlcheck.1*
+%{_mandir}/man1/mysqld_multi.1*
+%{_mandir}/man1/mysqld_safe.1*
+%{_mandir}/man1/mysqlhotcopy.1*
+%{_mandir}/man1/mysqlimport.1*
+%{_mandir}/man1/mysqlman.1*
+%{_mandir}/man1/mysql_setpermission.1*
+%{_mandir}/man1/mysqltest.1*
+%{_mandir}/man1/innochecksum.1*
+%{_mandir}/man1/perror.1*
+%{_mandir}/man1/replace.1*
+%{_mandir}/man1/resolve_stack_dump.1*
+%{_mandir}/man1/resolveip.1*
+%{_mandir}/man1/mysql_tzinfo_to_sql.1*
+%{_mandir}/man8/mysqld.8*
+
+%{_datadir}/mysql/errmsg-utf8.txt
+%{_datadir}/mysql/fill_help_tables.sql
+%{_datadir}/mysql/mysql_system_tables.sql
+%{_datadir}/mysql/mysql_system_tables_data.sql
+%{_datadir}/mysql/mysql_test_data_timezone.sql
+%{_datadir}/mysql/my-*.cnf
+%{_datadir}/mysql/config.*.ini
+
+%{_unitdir}/mysqld.service
+%{_libexecdir}/mysqld-prepare-db-dir
+%{_libexecdir}/mysqld-wait-ready
+
+%{_prefix}/lib/tmpfiles.d/%{name}.conf
+%attr(0755,mysql,mysql) %dir /var/run/mysqld
+%attr(0755,mysql,mysql) %dir /var/lib/mysql
+%attr(0640,mysql,mysql) %config(noreplace) %verify(not md5 size mtime) /var/log/mysqld.log
+%config(noreplace) %{_sysconfdir}/logrotate.d/mysqld
+
+%files devel
+%{_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
+* Mon Mar  4 2013 Honza Horak <hhorak at redhat.com> 5.5.30-2
+- Renaming package mysql to MySQL to handle conflicting issues
+  with mariadb, which became default
+
+* Tue Feb 12 2013 Honza Horak <hhorak at redhat.com> 5.5.30-1
+- Update to MySQL 5.5.30, for various fixes described at
+  http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-30.html
+
+* Tue Feb 12 2013 Honza Horak <hhorak at redhat.com> 5.5.29-3
+- Use real- prefix for cross-package requirements
+
+* Mon Feb 11 2013 Honza Horak <hhorak at redhat.com> 5.5.29-2
+- Provide own symbols with real- prefix to distinguish packages from other
+  MySQL implementations unambiguously
+
+* Wed Jan  2 2013 Tom Lane <tgl at redhat.com> 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 <hhorak at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <rel-eng at lists.fedoraproject.org> - 5.5.25a-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
+
+* Fri Jul  6 2012 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <hhorak at redhat.com> 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 <hhorak at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <hhorak at redhat.com> 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 <tgl at redhat.com> 5.5.16-3
+- Fix unportable usage associated with va_list arguments
+Resolves: #744707
+
+* Sun Oct 16 2011 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.5.14-3
+- Convert to systemd startup support (no socket activation, for now anyway)
+Related: #714426
+
+* Tue Jul 12 2011 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.5.13-2
+- Remove erroneously-included Default-Start line from LSB init block
+Resolves: #717024
+
+* Thu Jun  2 2011 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.5.9-2
+- Disable a regression test that is now showing platform-dependent results
+Resolves: #674253
+
+* Sat Feb 12 2011 Tom Lane <tgl at redhat.com> 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 <rel-eng at lists.fedoraproject.org> - 5.5.8-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
+
+* Fri Feb  4 2011 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.5.8-7
+- Work around some portability issues on PPC64
+Resolves: #674253
+
+* Thu Jan 20 2011 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 5.5.8-5
+- Fix failure to honor MYSQL_HOME environment variable
+Resolves: #669364
+
+* Thu Jan 13 2011 Tom Lane <tgl at redhat.com> 5.5.8-4
+- Fix crash during startup of embedded mysqld library
+Resolves: #667365
+
+* Mon Jan  3 2011 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 5.5.8-2
+- Add mysql_client_errors[] to the set of exported libmysqlclient symbols;
+  needed by PHP.
+
+* Thu Dec 23 2010 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.51-2
+- Re-disable the outfile_loaddata test, per report from Dan Horak.
+
+* Wed Oct  6 2010 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.48-3
+- Fix FTBFS with gcc 4.5.
+Related: #614293
+
+* Tue Jul 13 2010 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.42-6
+- Emit explicit error message if user tries to build RPM as root
+Related: #558915
+
+* Wed Jan 20 2010 Tom Lane <tgl at redhat.com> 5.1.42-5
+- Correct Source0: tag and comment to reflect how to get the tarball
+
+* Fri Jan  8 2010 Tom Lane <tgl at redhat.com> 5.1.42-4
+- Disable symbolic links by default in /etc/my.cnf
+Resolves: #553652
+
+* Tue Jan  5 2010 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.41-2
+- Stop waiting during "service mysqld start" if mysqld_safe exits
+Resolves: #544095
+
+* Mon Nov 23 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.39-4
+- Replace kluge fix for ndbd sparc crash with a real fix (mysql bug 48132)
+
+* Thu Oct 15 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.39-2
+- Work around upstream bug 46895 by disabling outfile_loaddata test
+
+* Tue Sep 22 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tmraz at redhat.com> - 5.1.37-3
+- rebuilt with new openssl
+
+* Fri Aug 14 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <rel-eng at lists.fedoraproject.org> - 5.1.36-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
+
+* Fri Jul 10 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.33-2
+- Increase stack size of ndbd threads for safety's sake.
+Related: #494631
+
+* Tue Apr  7 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 5.1.32-1
+- Update to MySQL 5.1.32.
+
+* Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1.31-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
+
+* Fri Feb 13 2009 Tom Lane <tgl at redhat.com> 5.1.31-1
+- Update to MySQL 5.1.31.
+
+* Thu Jan 22 2009 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.0.51a-1
+- Update to mysql version 5.0.51a
+
+* Mon Mar  3 2008 Tom Lane <tgl at redhat.com> 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 <dennis at ausil.us> 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 <tgl at redhat.com> 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 <rel-eng at fedoraproject.org> - 5.0.45-8
+- Autorebuild for GCC 4.3
+
+* Tue Jan  8 2008 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.0.45-5
+- Rebuild for new openssl
+
+* Sat Aug 25 2007 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 5.0.45-3
+- Recent perl changes in rawhide mean we need a more specific BuildRequires
+
+* Thu Aug  2 2007 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <jkeating at redhat.com> - 5.0.22-2.1
+- rebuild
+
+* Sat Jun 10 2006 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 5.0.21-2
+- Fix bogus perl Requires for mysql-test
+
+* Mon May  1 2006 Tom Lane <tgl at redhat.com> 5.0.21-1
+- Update to MySQL 5.0.21
+
+* Mon Mar 27 2006 Tom Lane <tgl at redhat.com> 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 <jkeating at redhat.com> - 5.0.18-2.1
+- bump again for double-long bug on ppc(64)
+
+* Thu Feb  9 2006 Tom Lane <tgl at redhat.com> 5.0.18-2
+- err-log option has been renamed to log-error, fix my.cnf and initscript
+
+* Tue Feb 07 2006 Jesse Keating <jkeating at redhat.com> - 5.0.18-1.1
+- rebuilt for new gcc4.1 snapshot and glibc changes
+
+* Thu Jan  5 2006 Tom Lane <tgl at redhat.com> 5.0.18-1
+- Update to MySQL 5.0.18
+
+* Thu Dec 15 2005 Tom Lane <tgl at redhat.com> 5.0.16-4
+- fix my_config.h for ppc platforms
+
+* Thu Dec 15 2005 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 5.0.16-2
+- oops, looks like we want uname -i not uname -m
+
+* Mon Dec 12 2005 Tom Lane <tgl at redhat.com> 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 <jkeating at redhat.com>
+- rebuilt
+
+* Mon Nov 14 2005 Tom Lane <tgl at redhat.com> 5.0.15-3
+- Make stop script wait for daemon process to disappear (bz#172426)
+
+* Wed Nov  9 2005 Tom Lane <tgl at redhat.com> 5.0.15-2
+- Rebuild due to openssl library update.
+
+* Thu Nov  3 2005 Tom Lane <tgl at redhat.com> 5.0.15-1
+- Update to MySQL 5.0.15 (scratch build for now)
+
+* Wed Oct  5 2005 Tom Lane <tgl at redhat.com> 4.1.14-1
+- Update to MySQL 4.1.14
+
+* Tue Aug 23 2005 Tom Lane <tgl at redhat.com> 4.1.12-3
+- Use politically correct patch name.
+
+* Tue Jul 12 2005 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 4.1.11-4
+- Include proper locking for OpenSSL in the server, per bz#155850
+
+* Mon Apr 25 2005 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 4.1.11-2
+- Avoid dependency on <asm/atomic.h>, cause it won't build anymore on ia64.
+  This is probably a cleaner solution for bz#143537, too.
+
+* Thu Apr  7 2005 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 4.1.10-3
+- Fix package Requires: interdependencies.
+
+* Sat Mar  5 2005 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 4.1.10-1
+- Update to MySQL 4.1.10.
+
+* Sat Jan 15 2005 Tom Lane <tgl at redhat.com> 4.1.9-1
+- Update to MySQL 4.1.9.
+
+* Wed Jan 12 2005 Tom Lane <tgl at redhat.com> 4.1.7-10
+- Don't assume /etc/my.cnf will specify pid-file (bz#143724)
+
+* Wed Jan 12 2005 Tim Waugh <twaugh at redhat.com> 4.1.7-9
+- Rebuilt for new readline.
+
+* Tue Dec 21 2004 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 4.1.7-7
+- Suppress someone's silly idea that libtool overhead can be skipped
+
+* Sun Dec 12 2004 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 4.1.7-3
+- Handle ldconfig more cleanly (put a file in /etc/ld.so.conf.d/).
+
+* Thu Oct 28 2004 Tom Lane <tgl at redhat.com> 4.1.7-2
+- rebuild in devel branch
+
+* Wed Oct 27 2004 Tom Lane <tgl at redhat.com> 4.1.7-1
+- Update to MySQL 4.1.x.
+
+* Tue Oct 12 2004 Tom Lane <tgl at redhat.com> 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 <tgl at redhat.com> 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 <tgl at redhat.com> 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 <sopwith at redhat.com> 3.23.58-10
+- rebuilt
+
+* Sat Apr 17 2004 Warren Togami <wtogami at redhat.com> 3.23.58-9
+- remove redundant INSTALL-SOURCE, manual.*
+- compress manual.txt.bz2
+- BR time
+
+* Tue Mar 16 2004 Tom Lane <tgl at redhat.com> 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 <sopwith at redhat.com>
+- rebuilt
+
+* Tue Feb 24 2004 Tom Lane <tgl at redhat.com>
+- fix chown syntax in mysql.init
+- rebuild
+
+* Fri Feb 13 2004 Elliot Lee <sopwith at redhat.com>
+- rebuilt
+
+* Tue Nov 18 2003 Kim Ho <kho at redhat.com> 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 <kho at redhat.com> 3.23.58-4
+- update mysql.init to wait (max 10 seconds) for mysql server to 
+  start (#58732)
+
+* Mon Oct 27 2003 Patrick Macdonald <patrickm at redhat.com> 3.23.58-3
+- re-enable Berkeley DB support (#106832)
+- re-enable ia64 testing
+
+* Fri Sep 19 2003 Patrick Macdonald <patrickm at redhat.com> 3.23.58-2
+- rebuilt
+
+* Mon Sep 15 2003 Patrick Macdonald <patrickm at redhat.com> 3.23.58-1
+- upgrade to 3.23.58 for security fix
+
+* Tue Aug 26 2003 Patrick Macdonald <patrickm at redhat.com> 3.23.57-2
+- rebuilt
+
+* Wed Jul 02 2003 Patrick Macdonald <patrickm at redhat.com> 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 <patrickm at redhat.com> 4.0.13-4
+- restrict test on ia64 (temporary)
+
+* Wed Jun 04 2003 Elliot Lee <sopwith at redhat.com> 4.0.13-3
+- rebuilt
+
+* Thu May 29 2003 Patrick Macdonald <patrickm at redhat.com> 4.0.13-2
+- fix filter-requires-mysql.sh with less restrictive for mysql-bench 
+
+* Wed May 28 2003 Patrick Macdonald <patrickm at redhat.com> 4.0.13-1
+- update for MySQL 4.0
+- back-level shared libraries available in mysqlclient10 package
+
+* Fri May 09 2003 Patrick Macdonald <patrickm at redhat.com> 3.23.56-2
+- add sql-bench package (#90110) 
+
+* Wed Mar 19 2003 Patrick Macdonald <patrickm at redhat.com> 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 <patrickm at redhat.com> 3.23.54a-11
+- enable thread safe client
+- add patch for double free fix
+
+* Wed Jan 22 2003 Tim Powers <timp at redhat.com>
+- rebuilt
+
+* Mon Jan 13 2003 Karsten Hopp <karsten at redhat.de> 3.23.54a-9
+- disable checks on s390x
+
+* Sat Jan  4 2003 Jeff Johnson <jbj at redhat.com> 3.23.54a-8
+- use internal dep generator.
+
+* Wed Jan  1 2003 Bill Nottingham <notting at redhat.com> 3.23.54a-7
+- fix mysql_config on hammer
+
+* Sun Dec 22 2002 Tim Powers <timp at redhat.com> 3.23.54a-6
+- don't use rpms internal dep generator
+
+* Tue Dec 17 2002 Elliot Lee <sopwith at redhat.com> 3.23.54a-5
+- Push it into the build system
+
+* Mon Dec 16 2002 Joe Orton <jorton at redhat.com> 3.23.54a-4
+- upgrade to 3.23.54a for safe_mysqld fix
+
+* Thu Dec 12 2002 Joe Orton <jorton at redhat.com> 3.23.54-3
+- upgrade to 3.23.54 for latest security fixes
+
+* Tue Nov 19 2002 Jakub Jelinek <jakub at redhat.com> 3.23.52-5
+- Always include <errno.h> for errno
+- Remove unpackaged files
+
+* Tue Nov 12 2002 Florian La Roche <Florian.LaRoche at redhat.de>
+- do not prereq userdel, not used at all
+
+* Mon Sep  9 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.52-4
+- Use %%{_libdir}
+- Add patch for x86-64
+
+* Wed Sep  4 2002 Jakub Jelinek <jakub at redhat.com> 3.23.52-3
+- rebuilt with gcc-3.2-7
+
+* Thu Aug 29 2002 Trond Eivind Glomsrd <teg at redhat.com> 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 <teg at redhat.com> 3.23.52-1
+- 3.23.52. Fixes a minor security problem, various bugfixes.
+
+* Sat Aug 10 2002 Elliot Lee <sopwith at redhat.com> 3.23.51-5
+- rebuilt with gcc-3.2 (we hope)
+
+* Mon Jul 22 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.51-4
+- rebuild
+
+* Thu Jul 18 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.51-3
+- Fix #63543 and #63542 
+
+* Thu Jul 11 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.51-2
+- Turn off bdb on PPC(#68591)
+- Turn off the assembly optimizations, for safety. 
+
+* Wed Jun 26 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.51-1
+- Work around annoying auto* thinking this is a crosscompile
+- 3.23.51
+
+* Fri Jun 21 2002 Tim Powers <timp at redhat.com>
+- automated rebuild
+
+* Mon Jun 10 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.50-2
+- Add dependency on perl-DBI and perl-DBD-MySQL (#66349)
+
+* Thu May 30 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.50-1
+- 3.23.50
+
+* Thu May 23 2002 Tim Powers <timp at redhat.com>
+- automated rebuild
+
+* Mon May 13 2002 Trond Eivind Glomsrd <teg at redhat.com> 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 <teg at redhat.com> 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 <teg at redhat.com> 3.23.49-2
+- Rebuild
+
+* Sun Feb 17 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.49-1
+- 3.23.49
+
+* Thu Feb 14 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.48-2
+- work around perl dependency bug.
+
+* Mon Feb 11 2002 Trond Eivind Glomsrd <teg at redhat.com> 3.23.48-1
+- 3.23.48
+
+* Thu Jan 17 2002 Trond Eivind Glomsrd <teg at redhat.com> 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 <teg at redhat.com> 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 <teg at redhat.com> 3.23.47-1
+- 3.23.47
+- Don't build for alpha, toolchain immature.
+
+* Mon Dec  3 2001 Trond Eivind Glomsrd <teg at redhat.com> 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 <teg at redhat.com> 3.23.45-1
+- 3.23.45
+
+* Wed Nov 14 2001 Trond Eivind Glomsrd <teg at redhat.com> 3.23.44-2
+- centralize definition of datadir in the initscript (#55873)
+
+* Fri Nov  2 2001 Trond Eivind Glomsrd <teg at redhat.com> 3.23.44-1
+- 3.23.44
+
+* Thu Oct  4 2001 Trond Eivind Glomsrd <teg at redhat.com> 3.23.43-1
+- 3.23.43
+
+* Mon Sep 10 2001 Trond Eivind Glomsrd <teg at redhat.com> 3.23.42-1
+- 3.23.42
+- reenable innodb
+
+* Tue Aug 14 2001 Trond Eivind Glomsrd <teg at redhat.com> 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 <teg at redhat.com>
+- 3.23.40, bugfix release
+- Add zlib-devel to buildrequires:
+
+* Fri Jul 20 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- BuildRequires-tweaking
+
+* Thu Jun 28 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 3.23.29
+- enable innodb
+- enable assembly again
+- disable tests for now...
+
+* Tue May 15 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.38
+- Don't use BDB on Alpha - no fast mutexes
+
+* Tue Apr 24 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.37
+- Add _GNU_SOURCE to the compile flags
+
+* Wed Mar 28 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 3.23.35 bugfix release
+- Don't delete the mysql user on uninstall
+
+* Tue Mar 13 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.34a bugfix release
+
+* Wed Feb  7 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- added readline-devel to BuildRequires:
+
+* Tue Feb  6 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- small i18n-fixes to initscript (action needs $)
+
+* Tue Jan 30 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- make it shut down and rotate logs without using mysqladmin 
+  (from #24909)
+
+* Mon Jan 29 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- conflict with "MySQL"
+
+* Tue Jan 23 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- improve gettextizing
+
+* Mon Jan 22 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.32
+- fix logrotate script (#24589)
+
+* Wed Jan 17 2001 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 3.23.29a
+
+* Tue Dec 19 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- add requirement for new libstdc++, build for errata
+
+* Mon Dec 18 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.29
+
+* Mon Nov 27 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.28 (gamma)
+- remove old patches, as they are now upstreamed
+
+* Thu Nov 14 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- Add a requirement for a new glibc (#20735)
+- build on IA64
+
+* Wed Nov  1 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- disable more assembly
+
+* Wed Nov  1 2000 Jakub Jelinek <jakub at redhat.com>
+- fix mysql on SPARC (#20124)
+
+* Tue Oct 31 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.27
+
+* Wed Oct 25 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- add patch for fixing bogus aliasing in mysql from Jakub,
+  which should fix #18905 and #18620
+
+* Mon Oct 23 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- check for negative niceness values, and negate it
+  if present (#17899)
+- redefine optflags on IA32 FTTB
+
+* Wed Oct 18 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <teg at redhat.com>
+- use the compat C++ compiler FTTB. Argh.
+- add requirement of ncurses4 (see above)
+
+* Sun Oct 01 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.25
+- fix shutdown problem (#17956)
+
+* Tue Sep 26 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- Don't try to include no-longer-existing PUBLIC file
+  as doc (#17532)
+
+* Thu Sep 12 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <teg at redhat.com>
+- 3.23.23
+
+* Sun Aug 27 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- Add "|| :" to condrestart to avoid non-zero exit code
+
+* Thu Aug 24 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- it's mysql.com, not mysql.org and use correct path to 
+  source (#16830)
+
+* Wed Aug 16 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- source file from /etc/rc.d, not /etc/rd.d. Doh.
+
+* Sun Aug 13 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <notting at redhat.com>
+- condrestart fixes
+
+* Mon Aug 01 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 3.23.22. Disable the old patches, they're now in.
+
+* Thu Jul 27 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- bugfixes in the initscript
+- move the .so link to the devel package
+
+* Wed Jul 19 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- rebuild due to glibc changes
+
+* Tue Jul 18 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- disable compiler patch
+- don't include info directory file
+
+* Mon Jul 17 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- move back to /etc/rc.d/init.d
+
+* Fri Jul 14 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- more cleanups in initscript
+
+* Thu Jul 13 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- add a patch to work around compiler bug 
+  (from monty at mysql.com) 
+
+* Wed Jul 12 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <bugzilla at redhat.com>
+- automatic rebuild
+
+* Mon Jul 10 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <teg at redhat.com>
+- use old C++ compiler
+- Exclusivearch x86
+
+* Sat Jul 08 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- move .so files to devel package
+- more cleanups
+- exclude sparc for now
+
+* Wed Jul 05 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <jakub at redhat.com>
+- Rebuild with new C++
+
+* Fri Jun 30 2000 Trond Eivind Glomsrd <teg at redhat.com>
+- 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 <jos at xos.nl>
+- 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 <jos at xos.nl>
+- 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 <jos at xos.nl>
+- 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/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/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 <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#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


More information about the scm-commits mailing list