summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authortaca <taca>2011-08-02 16:15:08 +0000
committertaca <taca>2011-08-02 16:15:08 +0000
commitbb6b7c085d4e1c0f723e6505cd44b357d5c045c8 (patch)
treed6c04d201d59f6722aa169857119846948e64f59 /databases
parent6922e51c86abba0fb6e36b04a5148d04577f52ca (diff)
downloadpkgsrc-bb6b7c085d4e1c0f723e6505cd44b357d5c045c8.tar.gz
Add patches refering link provided from PR pkg/45185 by Andras Horvath.
And minor update of comments in patches. Bump PKGREVISION.
Diffstat (limited to 'databases')
-rw-r--r--databases/mysql5-server/Makefile3
-rw-r--r--databases/mysql5-server/distinfo15
-rw-r--r--databases/mysql5-server/patches/patch-ca29
-rw-r--r--databases/mysql5-server/patches/patch-cb6
-rw-r--r--databases/mysql5-server/patches/patch-cc6
-rw-r--r--databases/mysql5-server/patches/patch-include_my__time.h24
-rw-r--r--databases/mysql5-server/patches/patch-mysql-test_r_func__time.result22
-rw-r--r--databases/mysql5-server/patches/patch-mysql-test_t_func__time.test26
-rw-r--r--databases/mysql5-server/patches/patch-sql-common_my__time.c24
-rw-r--r--databases/mysql5-server/patches/patch-sql_mysqld.cc34
-rw-r--r--databases/mysql5-server/patches/patch-sql_set__var.cc18
-rw-r--r--databases/mysql5-server/patches/patch-sql_sql__class.h15
12 files changed, 207 insertions, 15 deletions
diff --git a/databases/mysql5-server/Makefile b/databases/mysql5-server/Makefile
index eea1ed8cf0c..ab2395ee5c2 100644
--- a/databases/mysql5-server/Makefile
+++ b/databases/mysql5-server/Makefile
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.31 2010/02/18 15:46:10 taca Exp $
+# $NetBSD: Makefile,v 1.32 2011/08/02 16:15:08 taca Exp $
PKGNAME= ${DISTNAME:S/-/-server-/}
+PKGREVISION= 1
SVR4_PKGNAME= mysqs
COMMENT= MySQL 5, a free SQL database (server)
diff --git a/databases/mysql5-server/distinfo b/databases/mysql5-server/distinfo
index 9cea3d3346e..3537cf76fbe 100644
--- a/databases/mysql5-server/distinfo
+++ b/databases/mysql5-server/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.26 2011/02/26 02:58:56 taca Exp $
+$NetBSD: distinfo,v 1.27 2011/08/02 16:15:08 taca Exp $
SHA1 (mysql-5.0.92.tar.gz) = 10fffc7672a469af4a7fd980922b04d7ba0143ba
RMD160 (mysql-5.0.92.tar.gz) = 24a373a1b124acf39d0c0726e5cb6f47dc1bef08
@@ -18,6 +18,13 @@ SHA1 (patch-an) = 1f7ede981f2e7a846f49a5cfd443051acf9f3a02
SHA1 (patch-ap) = 70049d00e30d89201dd8d9fc0ace4e6edfcffae7
SHA1 (patch-aq) = e63b5be7cb1cb2e8ca8ee52e7e42632c05804959
SHA1 (patch-bf) = 180aefb012a0d17269654ba0aeb71ec74ea98e6c
-SHA1 (patch-ca) = 8d3f658a44a8d225a362b7f6135c772ee53ba5e3
-SHA1 (patch-cb) = b3a6bcc6f201b3ba1068ebe2d0cef3fbb22ab621
-SHA1 (patch-cc) = 2d1347ba57e35da484edd4fa3c764441ec6a80ed
+SHA1 (patch-ca) = a1620b5ebad72bcf9265ec0f9b44ecebb2ee22c7
+SHA1 (patch-cb) = 3e6e3e5aeb0476b399ce80d7af58564cdad7da7a
+SHA1 (patch-cc) = 5dc7423892271cf9be86be71de10d275532a8541
+SHA1 (patch-include_my__time.h) = 369fb468388bdec4e8449927e2109a8839fdde8a
+SHA1 (patch-mysql-test_r_func__time.result) = c85c6ff7981adf9dd10a4d1724e0b94616dcbe1c
+SHA1 (patch-mysql-test_t_func__time.test) = 5ff59d3fb9486a34ab23f33a942c2bd16be87776
+SHA1 (patch-sql-common_my__time.c) = 7056ca896030d26a30ba2c34a6adcd335fadfdb6
+SHA1 (patch-sql_mysqld.cc) = ae26b56f5ede21ed975005f47994b685b2c8083e
+SHA1 (patch-sql_set__var.cc) = 5dbbeeb5e3db648da395b372535e780da8ef294f
+SHA1 (patch-sql_sql__class.h) = 27fc6cc1684288b7ca517915af69a4ef8447c691
diff --git a/databases/mysql5-server/patches/patch-ca b/databases/mysql5-server/patches/patch-ca
index 216aa52f8c7..923899b4e48 100644
--- a/databases/mysql5-server/patches/patch-ca
+++ b/databases/mysql5-server/patches/patch-ca
@@ -1,12 +1,29 @@
-$NetBSD: patch-ca,v 1.3 2010/02/18 15:46:10 taca Exp $
+$NetBSD: patch-ca,v 1.4 2011/08/02 16:15:08 taca Exp $
-Before calling sigsend(), make sure the function actuall exists. Fixes
-the build on NetBSD >= 4.99.49, in which the macro P_MYID is defined
-somewhere unrelated to signals.
+* Handling of time_t: http://lists.mysql.com/commits/128103
+* Before calling sigsend(), make sure the function actuall exists.
+ Fixes the build on NetBSD >= 4.99.49, in which the macro P_MYID
+ is defined somewhere unrelated to signals.
---- configure.in.orig 2010-01-15 09:47:42.000000000 +0000
+--- configure.in.orig 2011-01-25 11:27:51.000000000 +0000
+++ configure.in
-@@ -2051,7 +2051,7 @@ AC_CHECK_HEADERS(varargs.h stdarg.h dire
+@@ -1956,6 +1956,15 @@ dnl
+
+ MYSQL_CHECK_TIME_T
+
++dnl
++dnl check size of time_t
++dnl
++
++AC_CHECK_SIZEOF(time_t, 8)
++if test "$ac_cv_sizeof_time_t" -eq 0
++then
++ AC_MSG_ERROR("MySQL needs a time_t type.")
++fi
+
+ # do we need #pragma interface/#pragma implementation ?
+ # yes if it's gcc 2.x, and not icc pretending to be gcc, and not cygwin
+@@ -2051,7 +2060,7 @@ AC_CHECK_HEADERS(varargs.h stdarg.h dire
paths.h semaphore.h)
# Already-done: strcasecmp
diff --git a/databases/mysql5-server/patches/patch-cb b/databases/mysql5-server/patches/patch-cb
index 79115e78781..a8928f0c4cf 100644
--- a/databases/mysql5-server/patches/patch-cb
+++ b/databases/mysql5-server/patches/patch-cb
@@ -1,6 +1,8 @@
-$NetBSD: patch-cb,v 1.3 2010/02/18 15:46:10 taca Exp $
+$NetBSD: patch-cb,v 1.4 2011/08/02 16:15:08 taca Exp $
-See patch-ca.
+* Before calling sigsend(), make sure the function actuall exists.
+ Fixes the build on NetBSD >= 4.99.49, in which the macro P_MYID
+ is defined somewhere unrelated to signals.
--- libmysqld/stacktrace.c.orig 2010-01-15 09:49:23.000000000 +0000
+++ libmysqld/stacktrace.c
diff --git a/databases/mysql5-server/patches/patch-cc b/databases/mysql5-server/patches/patch-cc
index 12013d328d8..73b83bde086 100644
--- a/databases/mysql5-server/patches/patch-cc
+++ b/databases/mysql5-server/patches/patch-cc
@@ -1,6 +1,8 @@
-$NetBSD: patch-cc,v 1.3 2010/02/18 15:46:10 taca Exp $
+$NetBSD: patch-cc,v 1.4 2011/08/02 16:15:08 taca Exp $
-See patch-ca.
+* Before calling sigsend(), make sure the function actuall exists.
+ Fixes the build on NetBSD >= 4.99.49, in which the macro P_MYID
+ is defined somewhere unrelated to signals.
--- sql/stacktrace.c.orig 2010-01-15 09:49:23.000000000 +0000
+++ sql/stacktrace.c
diff --git a/databases/mysql5-server/patches/patch-include_my__time.h b/databases/mysql5-server/patches/patch-include_my__time.h
new file mode 100644
index 00000000000..87c9a06f592
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-include_my__time.h
@@ -0,0 +1,24 @@
+$NetBSD: patch-include_my__time.h,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- include/my_time.h.orig 2011-01-25 11:28:00.000000000 +0000
++++ include/my_time.h
+@@ -44,6 +44,17 @@ typedef long my_time_t;
+ #define MY_TIME_T_MIN LONG_MIN
+
+
++/*
++ check for valid times only if the range of time_t is greater than
++ the range of my_time_t
++*/
++#if SIZEOF_TIME_T > SIZEOF_LONG
++# define IS_VALID_TIME_T(x) ((x) <= (time_t) MY_TIME_T_MAX && \
++ (x) >= (time_t) MY_TIME_T_MIN)
++#else
++# define IS_VALID_TIME_T(x) (1 > 0)
++#endif
++
+ /* Time handling defaults */
+ #define TIMESTAMP_MAX_YEAR 2038
+ #define YY_PART_YEAR 70
diff --git a/databases/mysql5-server/patches/patch-mysql-test_r_func__time.result b/databases/mysql5-server/patches/patch-mysql-test_r_func__time.result
new file mode 100644
index 00000000000..3bdfc217d48
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-mysql-test_r_func__time.result
@@ -0,0 +1,22 @@
+$NetBSD: patch-mysql-test_r_func__time.result,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- mysql-test/r/func_time.result.orig 2011-01-25 11:52:36.000000000 +0000
++++ mysql-test/r/func_time.result
+@@ -1323,4 +1323,15 @@ SELECT '2008-02-18' + INTERVAL 1 FRAC_SE
+ ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FRAC_SECOND' at line 1
+ SELECT '2008-02-18' - INTERVAL 1 FRAC_SECOND;
+ ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FRAC_SECOND' at line 1
++#
++# Bug #52315 part 2 : utc_date() crashes when system time > year 2037
++#
++SET TIMESTAMP=-147490000;
++SELECT UTC_TIMESTAMP();
++SET TIMESTAMP=2147483648;
++SELECT UTC_TIMESTAMP();
++SET TIMESTAMP=2147483646;
++SELECT UTC_TIMESTAMP();
++SET TIMESTAMP=2147483647;
++SELECT UTC_TIMESTAMP();
+ End of 5.0 tests
diff --git a/databases/mysql5-server/patches/patch-mysql-test_t_func__time.test b/databases/mysql5-server/patches/patch-mysql-test_t_func__time.test
new file mode 100644
index 00000000000..5cb060c664c
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-mysql-test_t_func__time.test
@@ -0,0 +1,26 @@
+$NetBSD: patch-mysql-test_t_func__time.test,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- mysql-test/t/func_time.test.orig 2011-01-25 11:52:35.000000000 +0000
++++ mysql-test/t/func_time.test
+@@ -838,4 +838,19 @@ SELECT '2008-02-18' + INTERVAL 1 FRAC_SE
+ --error ER_PARSE_ERROR
+ SELECT '2008-02-18' - INTERVAL 1 FRAC_SECOND;
+
++
++--echo #
++--echo # Bug #52315 part 2 : utc_date() crashes when system time > year 2037
++--echo #
++
++--disable_result_log
++--error ER_UNKNOWN_ERROR
++SET TIMESTAMP=-147490000; SELECT UTC_TIMESTAMP();
++--error ER_UNKNOWN_ERROR
++SET TIMESTAMP=2147483648; SELECT UTC_TIMESTAMP();
++SET TIMESTAMP=2147483646; SELECT UTC_TIMESTAMP();
++SET TIMESTAMP=2147483647; SELECT UTC_TIMESTAMP();
++--enable_result_log
++
++
+ --echo End of 5.0 tests
diff --git a/databases/mysql5-server/patches/patch-sql-common_my__time.c b/databases/mysql5-server/patches/patch-sql-common_my__time.c
new file mode 100644
index 00000000000..c0fb1d8bbf5
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-sql-common_my__time.c
@@ -0,0 +1,24 @@
+$NetBSD: patch-sql-common_my__time.c,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- sql-common/my_time.c.orig 2011-01-25 11:28:00.000000000 +0000
++++ sql-common/my_time.c
+@@ -984,8 +984,16 @@ my_system_gmt_sec(const MYSQL_TIME *t_sr
+ So, tmp < TIMESTAMP_MIN_VALUE will be triggered. On platfroms
+ with unsigned time_t tmp+= shift*86400L might result in a number,
+ larger then TIMESTAMP_MAX_VALUE, so another check will work.
++
++ tmp being larger than TIMESTAMP_MAX_VALUE can only happen on
++ platforms where the size of time_t is larger than the size of
++ TIMESTAMP_MAX_VALUE (currently INT32 : 4 bytes).
++ #ifdef to avoid the compilation warnings on these platforms (OpenBSD).
+ */
+- if ((tmp < TIMESTAMP_MIN_VALUE) || (tmp > TIMESTAMP_MAX_VALUE))
++ if ((tmp < TIMESTAMP_MIN_VALUE)
++#if SIZEOF_TIME_T > 4
++ || (tmp > TIMESTAMP_MAX_VALUE))
++#endif
+ tmp= 0;
+
+ return (my_time_t) tmp;
diff --git a/databases/mysql5-server/patches/patch-sql_mysqld.cc b/databases/mysql5-server/patches/patch-sql_mysqld.cc
new file mode 100644
index 00000000000..31d1797af7d
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-sql_mysqld.cc
@@ -0,0 +1,34 @@
+$NetBSD: patch-sql_mysqld.cc,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- sql/mysqld.cc.orig 2011-01-25 11:27:51.000000000 +0000
++++ sql/mysqld.cc
+@@ -2836,13 +2836,6 @@ static int init_common_variables(const c
+ max_system_variables.pseudo_thread_id= (ulong)~0;
+ server_start_time= flush_status_time= time((time_t*) 0);
+
+- /* TODO: remove this when my_time_t is 64 bit compatible */
+- if (server_start_time >= (time_t) MY_TIME_T_MAX)
+- {
+- sql_print_error("This MySQL server doesn't support dates later then 2038");
+- return 1;
+- }
+-
+ if (init_thread_environment())
+ return 1;
+ mysql_init_variables();
+@@ -2882,6 +2875,13 @@ static int init_common_variables(const c
+ mysql_slow_log.init_pthread_objects();
+ mysql_bin_log.init_pthread_objects();
+
++ /* TODO: remove this when my_time_t is 64 bit compatible */
++ if (!IS_VALID_TIME_T(server_start_time))
++ {
++ sql_print_error("This MySQL server doesn't support dates later then 2038");
++ return 1;
++ }
++
+ if (gethostname(glob_hostname,sizeof(glob_hostname)) < 0)
+ {
+ strmake(glob_hostname, STRING_WITH_LEN("localhost"));
diff --git a/databases/mysql5-server/patches/patch-sql_set__var.cc b/databases/mysql5-server/patches/patch-sql_set__var.cc
new file mode 100644
index 00000000000..bb06756d4d9
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-sql_set__var.cc
@@ -0,0 +1,18 @@
+$NetBSD: patch-sql_set__var.cc,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- sql/set_var.cc.orig 2011-01-25 11:27:51.000000000 +0000
++++ sql/set_var.cc
+@@ -2717,7 +2717,10 @@ bool sys_var_timestamp::check(THD *thd,
+ time_t val;
+ var->save_result.ulonglong_value= var->value->val_int();
+ val= (time_t) var->save_result.ulonglong_value;
+- if (val < (time_t) MY_TIME_T_MIN || val > (time_t) MY_TIME_T_MAX)
++ if ((val < TIMESTAMP_MIN_VALUE)
++#if SIZEOF_TIME_T > 4
++ || (val > TIMESTAMP_MAX_VALUE))
++#endif)
+ {
+ my_message(ER_UNKNOWN_ERROR,
+ "This version of MySQL doesn't support dates later than 2038",
diff --git a/databases/mysql5-server/patches/patch-sql_sql__class.h b/databases/mysql5-server/patches/patch-sql_sql__class.h
new file mode 100644
index 00000000000..d0b6d34ee33
--- /dev/null
+++ b/databases/mysql5-server/patches/patch-sql_sql__class.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-sql_sql__class.h,v 1.1 2011/08/02 16:15:08 taca Exp $
+
+* Handling of time_t: http://lists.mysql.com/commits/128103
+
+--- sql/sql_class.h.orig 2011-01-25 11:27:51.000000000 +0000
++++ sql/sql_class.h
+@@ -1710,7 +1710,7 @@ public:
+ /*TODO: this will be obsolete when we have support for 64 bit my_time_t */
+ inline bool is_valid_time()
+ {
+- return (start_time < (time_t) MY_TIME_T_MAX);
++ return (IS_VALID_TIME_T(start_time));
+ }
+ inline void insert_id(ulonglong id_arg)
+ {