summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Collet <fedora@famillecollet.com>2011-07-16 16:49:14 +0200
committerRemi Collet <fedora@famillecollet.com>2011-07-16 16:49:14 +0200
commit602a9944d1305b9aa64297563f98ff5c4306bc43 (patch)
treec413ec0b5f4ed66bf9074c8c58087ea99accd7cb
parent47ebfb35ab036a466d9f7242e2536ffb8c1f42e8 (diff)
mysql, sync with rawhide
-rw-r--r--mysql-disable-test.patch15
-rw-r--r--mysql-dubious-exports.patch139
-rw-r--r--mysql-openssl-test.patch22
-rw-r--r--mysql-stack.patch27
-rw-r--r--mysql.init2
-rw-r--r--mysql55.spec26
6 files changed, 203 insertions, 28 deletions
diff --git a/mysql-disable-test.patch b/mysql-disable-test.patch
index 902a068..be499bc 100644
--- a/mysql-disable-test.patch
+++ b/mysql-disable-test.patch
@@ -3,25 +3,24 @@ 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 this patch).
-This is allegedly fixed for 5.5.14 ...
+Still broken in 5.5.14, despite alleged fix.
Also disable sys_vars.plugin_dir_basic, which is broken because
mysql-test-run doesn't set the right value of MYSQL_LIBDIR. Upstream at
http://bugs.mysql.com/bug.php?id=52223
-Still fails in 5.5.13, but apparently due to be fixed soon?
-upstream marked it closed on 2-May.
+Still fails in 5.5.14, even though upstream marked it closed.
Also disable innodb.innodb, which is showing platform-dependent results
as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155
-diff -Naur mysql-5.5.12.orig/mysql-test/t/disabled.def mysql-5.5.12/mysql-test/t/disabled.def
---- mysql-5.5.12.orig/mysql-test/t/disabled.def 2011-04-11 06:44:01.000000000 -0400
-+++ mysql-5.5.12/mysql-test/t/disabled.def 2011-05-10 18:42:11.742438341 -0400
+diff -Naur mysql-5.5.14.orig/mysql-test/t/disabled.def mysql-5.5.14/mysql-test/t/disabled.def
+--- mysql-5.5.14.orig/mysql-test/t/disabled.def 2011-06-21 12:42:40.000000000 -0400
++++ mysql-5.5.14/mysql-test/t/disabled.def 2011-07-11 14:33:46.560138525 -0400
@@ -17,3 +17,7 @@
- alter_table-big : Bug#37248 2010-11-15 mattiasj was not tested
- create-big : Bug#37248 2010-11-15 mattiasj was not tested
archive-big : Bug#11817185 2011-03-10 Anitha Disabled since this leads to timeout on Solaris Sparc
+ main.query_cache_28249 : Bug#12584161 2009-03-25 main.query_cache_28249 fails sporadically
+ log_tables-big : Bug#11756699 2010-11-15 mattiasj report already exists
+#
+outfile_loaddata : bug#46895 code wrong, expected results wrong too
+sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory
diff --git a/mysql-dubious-exports.patch b/mysql-dubious-exports.patch
index 3342bf8..0ccb412 100644
--- a/mysql-dubious-exports.patch
+++ b/mysql-dubious-exports.patch
@@ -2,10 +2,39 @@ 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 -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h
---- mysql-5.5.8.orig/include/errmsg.h 2010-12-03 12:58:24.000000000 -0500
-+++ mysql-5.5.8/include/errmsg.h 2010-12-27 14:29:59.184552374 -0500
+
+diff -Naur mysql-5.5.14.orig/client/mysqladmin.cc mysql-5.5.14/client/mysqladmin.cc
+--- mysql-5.5.14.orig/client/mysqladmin.cc 2011-06-21 12:42:41.000000000 -0400
++++ mysql-5.5.14/client/mysqladmin.cc 2011-07-12 12:19:59.578066771 -0400
+@@ -20,6 +20,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 */
+
+@@ -975,9 +976,9 @@
+ }
+ }
+ 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 -Naur mysql-5.5.14.orig/include/errmsg.h mysql-5.5.14/include/errmsg.h
+--- mysql-5.5.14.orig/include/errmsg.h 2011-06-21 12:42:39.000000000 -0400
++++ mysql-5.5.14/include/errmsg.h 2011-07-12 11:55:29.194204015 -0400
@@ -24,6 +24,7 @@
#endif
void init_client_errs(void);
@@ -14,10 +43,10 @@ diff -Naur mysql-5.5.8.orig/include/errmsg.h mysql-5.5.8/include/errmsg.h
extern const char *client_errors[]; /* Error messages */
#ifdef __cplusplus
}
-diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h
---- mysql-5.5.8.orig/include/my_sys.h 2010-12-03 12:58:24.000000000 -0500
-+++ mysql-5.5.8/include/my_sys.h 2010-12-27 14:27:23.956926896 -0500
-@@ -227,6 +227,7 @@
+diff -Naur mysql-5.5.14.orig/include/my_sys.h mysql-5.5.14/include/my_sys.h
+--- mysql-5.5.14.orig/include/my_sys.h 2011-06-21 12:42:39.000000000 -0400
++++ mysql-5.5.14/include/my_sys.h 2011-07-12 11:55:29.195231427 -0400
+@@ -223,6 +223,7 @@
/* charsets */
#define MY_ALL_CHARSETS_SIZE 2048
@@ -25,7 +54,7 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h
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[];
-@@ -914,6 +915,9 @@
+@@ -900,6 +901,9 @@
extern uint get_collation_number(const char *name);
extern const char *get_charset_name(uint cs_number);
@@ -35,9 +64,9 @@ diff -Naur mysql-5.5.8.orig/include/my_sys.h mysql-5.5.8/include/my_sys.h
extern CHARSET_INFO *get_charset(uint cs_number, myf flags);
extern CHARSET_INFO *get_charset_by_name(const char *cs_name, myf flags);
extern CHARSET_INFO *get_charset_by_csname(const char *cs_name,
-diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp
---- mysql-5.5.8.orig/include/mysql.h.pp 2010-12-03 12:58:24.000000000 -0500
-+++ mysql-5.5.8/include/mysql.h.pp 2010-12-27 14:27:23.956926896 -0500
+diff -Naur mysql-5.5.14.orig/include/mysql.h.pp mysql-5.5.14/include/mysql.h.pp
+--- mysql-5.5.14.orig/include/mysql.h.pp 2011-06-21 12:42:39.000000000 -0400
++++ mysql-5.5.14/include/mysql.h.pp 2011-07-12 11:58:43.662068564 -0400
@@ -86,7 +86,7 @@
void my_net_local_init(NET *net);
void net_end(NET *net);
@@ -47,10 +76,24 @@ diff -Naur mysql-5.5.8.orig/include/mysql.h.pp mysql-5.5.8/include/mysql.h.pp
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,
-diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h
---- mysql-5.5.8.orig/include/mysql_com.h 2010-12-03 12:58:24.000000000 -0500
-+++ mysql-5.5.8/include/mysql_com.h 2010-12-27 14:27:23.957927198 -0500
-@@ -448,6 +448,7 @@
+@@ -128,13 +128,11 @@
+ 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 -Naur mysql-5.5.14.orig/include/mysql_com.h mysql-5.5.14/include/mysql_com.h
+--- mysql-5.5.14.orig/include/mysql_com.h 2011-06-21 12:42:39.000000000 -0400
++++ mysql-5.5.14/include/mysql_com.h 2011-07-12 11:58:52.166065391 -0400
+@@ -452,6 +452,7 @@
void my_net_local_init(NET *net);
void net_end(NET *net);
void net_clear(NET *net, my_bool clear_buffer);
@@ -58,3 +101,69 @@ diff -Naur mysql-5.5.8.orig/include/mysql_com.h mysql-5.5.8/include/mysql_com.h
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 @@
+ 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 -Naur mysql-5.5.14.orig/sql/password.c mysql-5.5.14/sql/password.c
+--- mysql-5.5.14.orig/sql/password.c 2011-06-21 12:42:40.000000000 -0400
++++ mysql-5.5.14/sql/password.c 2011-07-12 11:59:29.194068612 -0400
+@@ -154,23 +154,6 @@
+
+
+ /*
+- 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
+@@ -433,23 +416,6 @@
+
+
+ /*
+- 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-openssl-test.patch b/mysql-openssl-test.patch
new file mode 100644
index 0000000..f7e8f43
--- /dev/null
+++ b/mysql-openssl-test.patch
@@ -0,0 +1,22 @@
+Adjust openssl_1.result to match actual output when using OpenSSL.
+
+The given expected result seems to be yaSSL-specific, as of mysql 5.5.14.
+Upstream at http://bugs.mysql.com/bug.php?id=61827
+
+
+diff -Naur mysql-5.5.14.orig/mysql-test/r/openssl_1.result mysql-5.5.14/mysql-test/r/openssl_1.result
+--- mysql-5.5.14.orig/mysql-test/r/openssl_1.result 2011-06-21 12:42:40.000000000 -0400
++++ mysql-5.5.14/mysql-test/r/openssl_1.result 2011-07-11 18:52:39.925070616 -0400
+@@ -44,9 +44,9 @@
+ drop user ssl_user1@localhost, ssl_user2@localhost,
+ ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost;
+ drop table t1;
+-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation
+-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation
+-mysqltest: Could not open connection 'default': 2026 SSL connection error: ASN: bad other signature confirmation
++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1)
++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1)
++mysqltest: Could not open connection 'default': 2026 SSL connection error: error:00000001:lib(0):func(0):reason(1)
+ SSL error: Unable to get private key from ''
+ mysqltest: Could not open connection 'default': 2026 SSL connection error: Unable to get private key
+ SSL error: Unable to get certificate from ''
diff --git a/mysql-stack.patch b/mysql-stack.patch
new file mode 100644
index 0000000..c4fd437
--- /dev/null
+++ b/mysql-stack.patch
@@ -0,0 +1,27 @@
+Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE
+does not work on s390x, and probably not on some other platforms either.
+Knock it up to twice the pre-5.0.33 value to have some margin for future
+changes in compiler, glibc, etc. Suspect this number if
+"execution_constants" regression test fails.
+
+Note: STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8
+to provide some headroom, which means that its value can't be raised too much
+further without increasing the latter as well.
+
+As of 5.1.33 the stock value is 16000, which might be enough ... or maybe
+not. For the moment, we keep this patch around for reference, but it's
+not being applied.
+
+
+diff -Naur mysql-5.1.30.orig/sql/mysql_priv.h mysql-5.1.30/sql/mysql_priv.h
+--- mysql-5.1.30.orig/sql/mysql_priv.h 2008-11-14 11:37:13.000000000 -0500
++++ mysql-5.1.30/sql/mysql_priv.h 2009-01-13 11:07:35.000000000 -0500
+@@ -286,7 +286,7 @@
+ Feel free to raise this by the smallest amount you can to get the
+ "execution_constants" test to pass.
+ */
+-#define STACK_MIN_SIZE 12000 ///< Abort if less stack during eval.
++#define STACK_MIN_SIZE 16384 ///< Abort if less stack during eval.
+
+ #define STACK_MIN_SIZE_FOR_OPEN 1024*80
+ #define STACK_BUFF_ALLOC 352 ///< For stack overrun checks
diff --git a/mysql.init b/mysql.init
index 99c3c61..7d53f5d 100644
--- a/mysql.init
+++ b/mysql.init
@@ -12,8 +12,6 @@
# Provides: mysqld
# Required-Start: $local_fs $remote_fs $network $named $syslog $time
# Required-Stop: $local_fs $remote_fs $network $named $syslog $time
-# Default-Start: 2 3 4 5
-# Default-Stop: 0 1 6
# Short-Description: start and stop MySQL server
# Description: MySQL database server
### END INIT INFO
diff --git a/mysql55.spec b/mysql55.spec
index aebed1c..11770aa 100644
--- a/mysql55.spec
+++ b/mysql55.spec
@@ -1,6 +1,6 @@
Name: mysql
Version: 5.5.14
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: MySQL client programs and shared libraries
Group: Applications/Databases
URL: http://www.mysql.com
@@ -45,6 +45,7 @@ Patch8: mysql-dubious-exports.patch
Patch10: mysql-embedded-crash.patch
Patch11: mysql-plugin-bool.patch
Patch12: mysql-s390-tsc.patch
+Patch13: mysql-openssl-test.patch
# RC patch for backports
Patch21: mysql-readline.patch
@@ -198,9 +199,13 @@ rm -f Docs/mysql.info
%patch6 -p1
%patch7 -p1
%patch8 -p1
+# si below %patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
+%if 0%{?fedora} >= 9 || 0%{?rhel} >= 5
+%patch13 -p1
+%endif
# Backports specific patches
%patch21 -p1 -b .readline
@@ -217,7 +222,6 @@ outfile_loaddata : bug#46895 code wrong, expected results wrong too
sys_vars.plugin_dir_basic : bug#52223 fails for lib64 library directory
innodb.innodb : bug#60155 has platform-dependent results
main.information_schema : fails in mock, ok after install :(
-main.openssl_1 : error message seems to have change...
EOF
@@ -448,7 +452,7 @@ echo -e "\nWARNING : This MySQL RPM is not an official Fedora/Redhat build and i
echo -e "overrides the official one. Don't file bugs on Fedora Project nor Redhat."
echo -e "Use dedicated forums http://forums.famillecollet.com/\n"
-%if %{?fedora}%{!?fedora:99} <= 12
+%if %{?fedora}%{!?fedora:99} <= 13
echo -e "WARNING : Fedora %{fedora} is now EOL :"
echo -e "You should consider upgrading to a supported release.\n"
%endif
@@ -677,10 +681,26 @@ fi
%{_mandir}/man1/mysql_client_test.1*
%changelog
+* Sat Jul 16 2011 Remi Collet <RPMS@FamilleCollet.com> - 5.5.14-2
+- sync with rawhide
+
+* Tue Jul 12 2011 Tom Lane <tgl@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@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 Remi Collet <RPMS@FamilleCollet.com> - 5.5.14-1
- update to MySQL 5.5.14 Community Server GA
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-14.html
+* Wed Jul 6 2011 Tom Lane <tgl@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@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