gnu: mysql: Update to 5.7.13 [fixes CVE-2016-{3477,3521,3615,5440}].

* gnu/packages/patches/mysql-fix-failing-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/databases.scm (mysql): Update to 5.7.13.
This commit is contained in:
Leo Famulari 2016-07-27 21:47:42 -04:00
parent 46e4e84ffc
commit e335b82c4e
No known key found for this signature in database
GPG Key ID: 2646FA30BACA7F08
3 changed files with 61 additions and 2 deletions

View File

@ -679,6 +679,7 @@ dist_patch_DATA = \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/mysql-fix-failing-test.patch \
%D%/packages/patches/nasm-no-ps-pdf.patch \
%D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-config-date.patch \

View File

@ -186,7 +186,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(define-public mysql
(package
(name "mysql")
(version "5.7.12")
(version "5.7.13")
(source (origin
(method url-fetch)
(uri (list (string-append
@ -196,9 +196,10 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(string-append
"http://downloads.mysql.com/archives/get/file/"
name "-" version ".tar.gz")))
(patches (search-patches "mysql-fix-failing-test.patch"))
(sha256
(base32
"11qwbid666fspq143ymi86yva2b01lybaqh26k92rciasav3r11j"))))
"11qbib1xpy0zkki7j9ip17hks5kp5zgpcj7x8gy3a4m66lb1mgsh"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags

View File

@ -0,0 +1,57 @@
Fix spurious test failure:
https://bugs.mysql.com/bug.php?id=81868
Copied from Fedora:
https://pkgs.fedoraproject.org/cgit/rpms/community-mysql.git/diff/community-mysql-5.7.13-pfs-oom-unittest.patch?id=a51381c6f98b9cd6855bc89ba93398a949ef7098
commit 6c23035b52284c2575f297311dfd0278bcbb0dd1
Author: Christopher Powers <chris.powers@oracle.com>
Date: Mon May 2 19:43:31 2016 +0100
Bug#23186653 PERFORMANCE SCHEMA UNIT TESTS PFS_INSTR-OOM & PFS_INSTR_CLASS FAIL REGULARLY
Two test cases pass on Windows but crash on Linux due to different init paths.
Now pass on both.
diff --git a/storage/perfschema/unittest/pfs_instr-oom-t.cc b/storage/perfschema/unittest/pfs_instr-oom-t.cc
index db74c9c..b6bc818 100644
--- a/storage/perfschema/unittest/pfs_instr-oom-t.cc
+++ b/storage/perfschema/unittest/pfs_instr-oom-t.cc
@@ -232,12 +232,14 @@ void test_oom()
ok(cond_2 == NULL, "oom (create cond)");
/* Create file. */
- stub_alloc_always_fails = false;
PFS_thread fake_thread;
+ rc = init_instruments(&param);
fake_thread.m_filename_hash_pins= NULL;
init_file_hash(&param);
- rc = init_instruments(&param);
- ok(rc == 0, "instances init");
+
+ stub_alloc_always_fails = true;
+ file_2 = find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true);
+ ok(file_2 == NULL, "oom (create file)");
stub_alloc_always_fails= false;
file_1= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true);
@@ -245,10 +247,6 @@ void test_oom()
release_file(file_1);
cleanup_instruments();
- stub_alloc_always_fails= true;
- file_2= find_or_create_file(&fake_thread, &dummy_file_class, "dummy", 5, true);
- ok(file_2 == NULL, "oom (create file)");
-
/* Create socket. */
stub_alloc_always_fails = false;
rc = init_instruments(&param);
@@ -422,7 +420,7 @@ void do_all_tests()
int main(int, char **)
{
- plan(28);
+ plan(32);
MY_INIT("pfs_instr-oom-t");
do_all_tests();
return 0;