From 22963a2b91238546e3bc8603243d9a7baa98fb39 Mon Sep 17 00:00:00 2001 From: Bjorn Munch Date: Fri, 4 Apr 2014 14:46:52 +0200 Subject: [PATCH] Update to 5.6.17 Signed-off-by: Bjorn Munch Signed-off-by: Honza Horak --- .gitignore | 1 + community-mysql-5.6.13-truncate-file.patch | 21 -- community-mysql-5.6.16-fix-regex-werror.patch | 26 -- community-mysql-5.6.16-mysql-install.patch | 90 +---- community-mysql-innodbwarn.patch | 20 - community-mysql-install-test.patch | 6 +- community-mysql-man-pages.patch | 357 +++++++++--------- community-mysql-ssltest.patch | 30 -- community-mysql.spec | 252 +++++-------- mysql-embedded-check.c | 26 -- rh-skipped-tests-arm.list | 14 - rh-skipped-tests-base.list | 13 - sources | 2 +- 13 files changed, 282 insertions(+), 576 deletions(-) delete mode 100644 community-mysql-5.6.13-truncate-file.patch delete mode 100644 community-mysql-5.6.16-fix-regex-werror.patch delete mode 100644 community-mysql-innodbwarn.patch delete mode 100644 community-mysql-ssltest.patch delete mode 100644 mysql-embedded-check.c delete mode 100644 rh-skipped-tests-arm.list delete mode 100644 rh-skipped-tests-base.list diff --git a/.gitignore b/.gitignore index 94e6ac7..f7c6743 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /mysql-5.6.14-nodocs.tar.xz /mysql-5.6.15.tar.gz /mysql-5.6.16.tar.gz +/mysql-5.6.17.tar.gz diff --git a/community-mysql-5.6.13-truncate-file.patch b/community-mysql-5.6.13-truncate-file.patch deleted file mode 100644 index 4bbeece..0000000 --- a/community-mysql-5.6.13-truncate-file.patch +++ /dev/null @@ -1,21 +0,0 @@ -Unneccesary use of Env module in Perl code in a test - -Code used Env just to get the value of a single environment variable, -causing the test to fail on systems which does not have this -installed. This use is overkill, can easily be replaced by standard -access via the ENV hash. - -diff -up mysql-test/include/truncate_file.inc.orig mysql-test/include/truncate_file.inc ---- mysql-test/include/truncate_file.inc.orig 2013-08-23 12:25:33.216534033 +0200 -+++ mysql-test/include/truncate_file.inc 2013-08-23 12:15:34.583327832 +0200 -@@ -9,8 +9,7 @@ if (!$file) - let TRUNCATE_FILE= $file; - - perl; --use Env; --Env::import('TRUNCATE_FILE'); --open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file"; -+my $file= $ENV{'TRUNCATE_FILE'}; -+open FILE, '>', $file || die "Can not open file $file"; - close FILE; - EOF diff --git a/community-mysql-5.6.16-fix-regex-werror.patch b/community-mysql-5.6.16-fix-regex-werror.patch deleted file mode 100644 index 0d76ddd..0000000 --- a/community-mysql-5.6.16-fix-regex-werror.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -index 0332658..29c6f46 100644 ---- a/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -+++ b/plugin/innodb_memcached/daemon_memcached/CMakeLists.txt -@@ -32,7 +32,7 @@ SET(CMAKE_CPP_FLAGS "${CMAKE_CPP_FLAGS} ${CMAKE_SHARED_LIBRARY_C_FLAGS} -I${CMAK - - # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully - IF(CMAKE_C_FLAGS MATCHES "-Werror") -- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - # Turn -Wdeclaration-after-statement off to reduce the number of warnings - STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") -diff --git a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -index 633a175..4c0b364 100644 ---- a/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -+++ b/plugin/innodb_memcached/innodb_memcache/CMakeLists.txt -@@ -26,7 +26,7 @@ INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/plugin/innodb_memcached/innodb_memcache - - # If current CMAKE_C_FLAGS is with Werror, turn it off to compile successfully - IF(CMAKE_C_FLAGS MATCHES "-Werror") -- STRING(REGEX REPLACE "-Werror" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ STRING(REGEX REPLACE "-Werror[^=]" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - # Turn -Wdeclaration-after-statement off to reduce the number of warnings - STRING(REGEX REPLACE "-Wdeclaration-after-statement" "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") - ENDIF(CMAKE_C_FLAGS MATCHES "-Werror") diff --git a/community-mysql-5.6.16-mysql-install.patch b/community-mysql-5.6.16-mysql-install.patch index 95a5277..943009e 100644 --- a/community-mysql-5.6.16-mysql-install.patch +++ b/community-mysql-5.6.16-mysql-install.patch @@ -2,48 +2,6 @@ diff --git a/scripts/mysql_install_db.pl.in b/scripts/mysql_install_db.pl.in index 440a977..7d068fc 100644 --- a/scripts/mysql_install_db.pl.in +++ b/scripts/mysql_install_db.pl.in -@@ -34,13 +34,35 @@ - # - ############################################################################## - --use Fcntl; --use File::Basename; --use File::Copy; --use Getopt::Long; --use Sys::Hostname; --use Data::Dumper; - use strict; -+use warnings; -+ -+############################################################################## -+# Check if all needed modules are available, exit if something is missing. -+############################################################################## -+ -+BEGIN { -+ my @req_mods = ('Fcntl', 'File::Basename', 'File::Copy', 'Getopt::Long', -+ 'Sys::Hostname', 'Data::Dumper'); -+ my @missing_mods; -+ my $req; -+ foreach $req (@req_mods) { -+ eval 'require ' . $req; -+ if ($@) { -+ push(@missing_mods, $req); -+ } else { -+ $req->import(); -+ } -+ } -+ # this avoids the confusing "BEGIN failed--compilation aborted" message -+ local $SIG{__DIE__} = sub {warn @_; exit 1}; -+ -+ if (@missing_mods) { -+ my $msg = "FATAL ERROR: please install the following Perl modules " . -+ "before executing $0:\n" . join("\n",@missing_mods)."\n"; -+ die $msg; -+ } -+} - - Getopt::Long::Configure("pass_through"); - @@ -75,6 +97,8 @@ Usage: $0 [OPTIONS] --help Display this help and exit. --ldata=path The path to the MySQL data directory. Same as --datadir. @@ -69,33 +27,6 @@ index 440a977..7d068fc 100644 "rpm", "help", "random-passwords", -@@ -356,13 +382,19 @@ sub tell_root_password { - ############################################################################## - - sub generate_random_password { -- # On (at least) Linux and Solaris, a "random" device is available, use it: -- # cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1 -- # Without LC_ALL, "tr" may not know the "alnum" character class - -- # and there are user profiles which do not have this set. -- # -- my $password = `cat /dev/urandom | LC_ALL=C tr -dc "[:alnum:]" | fold -w 8 | head -1`; -- chomp ($password); -+ # On Linux, Solaris, Max OS X and FreeBSD we have a random device available. -+ my $randfile = "/dev/urandom"; -+ open(FD, $randfile) || die "Can't open $randfile for reading: $!"; -+ my $password = ""; -+ my $pass_len = 16; -+ my $c; -+ while (length($password) < $pass_len) { -+ $c = getc(FD); -+ if ($c =~ /\w/) { -+ $password .= $c; -+ } -+ } -+ close(FD); - return $password; - } - @@ -399,11 +431,16 @@ $basedir= "@prefix@" if ! $basedir; # Default # ---------------------------------------------------------------------- @@ -113,7 +44,7 @@ index 440a977..7d068fc 100644 if ( $opt->{srcdir} ) { $opt->{builddir} = $opt->{srcdir} unless $opt->{builddir}; -@@ -425,13 +462,18 @@ my $config_file; +@@ -425,7 +462,7 @@ my $config_file; my $copy_cfg_file; # ---------------------------------------------------------------------- @@ -121,20 +52,21 @@ index 440a977..7d068fc 100644 +# This will be the default config file (unless creation is unwanted) # ---------------------------------------------------------------------- - $config_file= "$basedir/my.cnf"; + my $cnfext = ( $^O =~ m/^(MSWin32|cygwin)$/ ) ? "ini" : "cnf"; +@@ -434,6 +471,11 @@ $config_file= "$basedir/my.$cnfext"; - my $cfg_template= find_in_basedir($opt,"file","my-default.cnf", - "share","share/mysql","support-files"); + my $cfg_template= find_in_basedir($opt,"file","my-default.$cnfext", + ".", "share","share/mysql","support-files"); +# Distros might move files +if ((! -r $cfg_template) && (-r "@pkgdatadir@/my-default.cnf")) { + $cfg_template = "@pkgdatadir@/my-default.cnf"; +} + - -e $cfg_template or cannot_find_file("my-default.cnf"); + -e $cfg_template or cannot_find_file("my-default.$cnfext"); $copy_cfg_file= $config_file; -@@ -441,22 +483,21 @@ if (-e $copy_cfg_file) - $copy_cfg_file =~ s/my.cnf/my-new.cnf/; +@@ -443,22 +485,21 @@ if (-e $copy_cfg_file) + $copy_cfg_file =~ s/my.$cnfext/my-new.$cnfext/; # Too early to print warning here, the user may not notice } -open (TEMPL, $cfg_template) or error($opt, "Could not open config template $cfg_template"); @@ -169,7 +101,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # Now we can get arguments from the groups [mysqld] and [mysql_install_db] -@@ -619,7 +660,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) +@@ -621,7 +662,7 @@ if ( $opt->{'skip-name-resolve'} and $resolved and $resolved =~ /\s/ ) } # ---------------------------------------------------------------------- @@ -178,7 +110,7 @@ index 440a977..7d068fc 100644 # ---------------------------------------------------------------------- # FIXME The shell variant uses "mkdir -p": -@@ -652,7 +693,7 @@ if ($opt_user) +@@ -654,7 +695,7 @@ if ($opt_user) } } @@ -187,7 +119,7 @@ index 440a977..7d068fc 100644 { mkdir($dir, 0700) unless -d $dir; if ($opt_user and -w "/") -@@ -846,7 +887,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) +@@ -848,7 +889,13 @@ if ( open(PIPE, "| $mysqld_install_cmd_line") ) "", "Support MySQL by buying support/licenses at http://shop.mysql.com"); diff --git a/community-mysql-innodbwarn.patch b/community-mysql-innodbwarn.patch deleted file mode 100644 index c513442..0000000 --- a/community-mysql-innodbwarn.patch +++ /dev/null @@ -1,20 +0,0 @@ -Test case rpl.rpl_daedlock_innodb fails when dropping tables because some -warnings are generated in the slave server. The test is working fine when -running alone, but fails when all tests are running, so it seems not to be -so bad thing to ignore that warnings. - -http://bugs.mysql.com/bug.php?id=69458 - -diff -up mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn mysql-5.5.32/mysql-test/include/mtr_warnings.sql ---- mysql-5.5.32/mysql-test/include/mtr_warnings.sql.innodbwarn 2013-06-13 16:45:27.723525133 +0200 -+++ mysql-5.5.32/mysql-test/include/mtr_warnings.sql 2013-06-13 16:46:24.879524133 +0200 -@@ -162,6 +162,9 @@ INSERT INTO global_suppressions VALUES - ("InnoDB: Error: in RENAME TABLE table `test`.`t1`"), - ("InnoDB: Error: table `test`.`t[123]` does not exist in the InnoDB internal"), - -+ /* rpl.rpl_deadlock_innodb fails when trying DROP tables */ -+ ("InnoDB: Error: table `mysqld.2`.`#sql.*` does not exist in the InnoDB internal"), -+ - /* - BUG#32080 - Excessive warnings on Solaris: setrlimit could not - change the size of core files diff --git a/community-mysql-install-test.patch b/community-mysql-install-test.patch index a31a280..1f67132 100644 --- a/community-mysql-install-test.patch +++ b/community-mysql-install-test.patch @@ -21,16 +21,16 @@ diff -Naur mysql-5.5.20.orig/mysql-test/README mysql-5.5.20/mysql-test/README +For use in Red Hat distributions, you should run the script as user mysql, +so the best bet is something like + cd /usr/share/mysql-test -+ sudo -u mysql ./mysql-test-run --skip-test-list=rh-skipped-tests.list ++ sudo -u mysql ./mysql-test-run --skip-test-list=platform-specific-tests.list +This will use the installed mysql executables, but will run a private copy +of the server process (using data files within /usr/share/mysql-test), +so you need not start the mysqld service beforehand. + -+The "--skip-test-list=rh-skipped-tests.list" option excludes tests that are ++The "--skip-test-list=platform-specific-tests.list" option excludes tests that are +known to fail on one or more Red-Hat-supported platforms. You can omit it +if you want to check whether such failures occur for you. Documentation +about the reasons for omitting such tests can be found in the file -+rh-skipped-tests.list. ++platform-specific-tests.list. + +To clean up afterwards, remove the created "var" subdirectory, eg + sudo -u mysql rm -rf /usr/share/mysql-test/var diff --git a/community-mysql-man-pages.patch b/community-mysql-man-pages.patch index d30ed81..43fe99d 100644 --- a/community-mysql-man-pages.patch +++ b/community-mysql-man-pages.patch @@ -1,13 +1,8 @@ -Upstream bug: http://bugs.mysql.com/bug.php?id=69342 - -# Amalgamation of patches to various mysql man pages - -# ===== mysqladmin manual page ===== - -diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 ---- mysql-5.6.16/man/mysql.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysql.1 2014-02-03 15:37:23.064082223 +0100 -@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Opt +diff --git a/man/mysql.1 b/man/mysql.1 +index 2e1602c..1e1d9f3 100644 +--- a/man/mysql.1 ++++ b/man/mysql.1 +@@ -137,7 +137,8 @@ Section\ \&4.2.3.4, \(lqCommand-Line Options that Affect Option-File Handling\(r .\" mysql: help option .\" help option: mysql \fB\-\-help\fR, @@ -17,7 +12,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .sp Display a help message and exit\&. .RE -@@ -348,6 +349,21 @@ Compress all information sent between th +@@ -348,6 +349,21 @@ Compress all information sent between the client and the server if both support .ie n \{\ \h'-04'\(bu\h'+03'\c .\} @@ -39,7 +34,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .el \{\ .sp -1 .IP \(bu 2.3 -@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authenti +@@ -447,6 +463,37 @@ Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. .sp .RS 4 .ie n \{\ @@ -77,7 +72,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 \h'-04'\(bu\h'+03'\c .\} .el \{\ -@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\( +@@ -638,6 +685,36 @@ Section\ \&5.1.7, \(lqServer SQL Modes\(rq)\&. .el \{\ .sp -1 .IP \(bu 2.3 @@ -114,7 +109,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .\} .\" mysql: init-command option .\" init-command option: mysql -@@ -691,6 +768,21 @@ has no effect if the server does not als +@@ -691,6 +768,21 @@ has no effect if the server does not also support it\&. .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c @@ -136,7 +131,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .\} .el \{\ .sp -1 -@@ -886,6 +978,21 @@ the section called \(lqMYSQL COMMANDS\(r +@@ -911,6 +1003,21 @@ the section called \(lqMYSQL COMMANDS\(rq, discusses output paging further\&. \fB\-\-password[=\fR\fB\fIpassword\fR\fR\fB]\fR, \fB\-p[\fR\fB\fIpassword\fR\fR\fB]\fR .sp @@ -158,7 +153,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 The password to use when connecting to the server\&. If you use the short option form (\fB\-p\fR), you \fIcannot\fR have a space between the option and the password\&. If you omit the -@@ -1077,6 +1184,36 @@ If the connection to the server is lost, +@@ -1102,6 +1209,36 @@ If the connection to the server is lost, automatically try to reconnect\&. A sin \fB\-\-skip\-reconnect\fR\&. .RE .sp @@ -195,7 +190,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -1121,9 +1258,39 @@ to disable it\&. +@@ -1146,9 +1283,39 @@ to disable it\&. .if n \{\ .sp .\} @@ -235,16 +230,16 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .nr an-break-flag 1 .br .ps +1 -@@ -1279,7 +1446,7 @@ localhost, the Unix socket file to use, +@@ -1305,7 +1472,7 @@ localhost, the Unix socket file to use, or, on Windows, the name of the named pi \fB\-\-ssl*\fR .sp Options that begin with -\fB\-\-ssl\fR +\fB\-\-ssl\fR, specify whether to connect to the server using SSL and indicate where to find SSL keys and certificates\&. See - Section\ \&6.3.9.4, \(lqSSL Command Options\(rq\&. + Section\ \&6.3.10.4, \(lqSSL Command Options\(rq\&. .RE -@@ -1455,7 +1622,7 @@ The XML output also uses an XML namespac +@@ -1481,7 +1648,7 @@ The XML output also uses an XML namespace, as shown here: .RS 4 .\} .nf @@ -253,7 +248,7 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 -@@ -3369,16 +3536,16 @@ statements that probably need to examine +@@ -3395,16 +3562,16 @@ statements that probably need to examine more than 1,000,000 row combinations\&. .RE .PP To specify limits different from 1,000 and 1,000,000, you can override the defaults by using the @@ -273,10 +268,38 @@ diff -up mysql-5.6.16/man/mysql.1.p24 mysql-5.6.16/man/mysql.1 .fi .if n \{\ .RE -diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 ---- mysql-5.6.16/man/mysqladmin.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqladmin.1 2014-02-03 15:31:31.984839986 +0100 -@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Confi +diff --git a/man/mysql_config.1 b/man/mysql_config.1 +index 5bd4e5b..e7e11db 100644 +--- a/man/mysql_config.1 ++++ b/man/mysql_config.1 +@@ -174,6 +174,22 @@ The default TCP/IP port number, defined when configuring MySQL\&. + .sp + .RS 4 + .ie n \{\ ++.\" mysql_config: variable option ++.\" variable option: mysql_config ++\fB\-\-variable=VAR\fR ++.sp ++Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of ++`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. ++.RE ++.sp ++.RS 4 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + \h'-04'\(bu\h'+03'\c + .\} + .el \{\ +diff --git a/man/mysqladmin.1 b/man/mysqladmin.1 +index d1a1020..111715e 100644 +--- a/man/mysqladmin.1 ++++ b/man/mysqladmin.1 +@@ -639,6 +639,21 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. .sp -1 .IP \(bu 2.3 .\} @@ -298,7 +321,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .\" mysqladmin: compress option .\" compress option: mysqladmin \fB\-\-compress\fR, -@@ -729,6 +744,37 @@ Print debugging information and memory a +@@ -729,6 +744,37 @@ Print debugging information and memory and CPU usage statistics when the program .sp The client\-side authentication plugin to use\&. See Section\ \&6.3.7, \(lqPluggable Authentication\(rq\&. @@ -336,7 +359,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .RE .sp .RS 4 -@@ -789,6 +835,21 @@ command\&. With multiple commands, conti +@@ -789,6 +835,21 @@ command\&. With multiple commands, continue even if an error occurs\&. .ie n \{\ \h'-04'\(bu\h'+03'\c .\} @@ -358,7 +381,7 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .el \{\ .sp -1 .IP \(bu 2.3 -@@ -862,6 +923,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guideli +@@ -887,6 +948,21 @@ Section\ \&6.1.2.1, \(lqEnd-User Guidelines for Password Security\(rq\&. You can On Windows, connect to the server using a named pipe\&. This option applies only if the server supports named\-pipe connections\&. .RE .sp @@ -380,17 +403,10 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -935,6 +1011,21 @@ command\&. - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -967,6 +1043,21 @@ command\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqladmin: shutdown-timeout option +.\" shutdown-timeout option: mysqladmin +\fB\-\-shutdown\-timeout\fR\fB\fItimeout\fR\fR @@ -399,24 +415,6 @@ diff -up mysql-5.6.16/man/mysqladmin.1.p24 mysql-5.6.16/man/mysqladmin.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 ---- mysql-5.6.16/man/mysqlbinlog.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlbinlog.1 2014-02-03 15:31:31.984839986 +0100 -@@ -629,6 +629,7 @@ Do not display any of the groups listed - \fB\-F\fR - .sp - Read binary log files even if they are open or were not closed properly\&. -+Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. - .RE - .sp - .RS 4 -@@ -736,6 +737,22 @@ or any other MySQL program\&. - .RE - .sp - .RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c +.\} @@ -424,6 +422,25 @@ diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +.sp -1 +.IP \(bu 2.3 +.\} + .\" mysqladmin: secure-auth option + .\" secure-auth option: mysqladmin + \fB\-\-secure\-auth\fR +diff --git a/man/mysqlbinlog.1 b/man/mysqlbinlog.1 +index eead304..8e30383 100644 +--- a/man/mysqlbinlog.1 ++++ b/man/mysqlbinlog.1 +@@ -629,6 +629,7 @@ Do not display any of the groups listed in the + \fB\-F\fR + .sp + Read binary log files even if they are open or were not closed properly\&. ++Enabled by default, use \fB\-\-skip\-force\-if\-open\fR to disable\&. + .RE + .sp + .RS 4 +@@ -743,6 +744,22 @@ or any other MySQL program\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlbinlog: open-files-limit option +.\" open-files-limit option: mysqlbinlog +\fB\-\-open\-files\-limit=\fR\fB\fINUM\fR\fR @@ -433,13 +450,21 @@ diff -up mysql-5.6.16/man/mysqlbinlog.1.p24 mysql-5.6.16/man/mysqlbinlog.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 ---- mysql-5.6.16/man/mysqlcheck.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlcheck.1 2014-02-03 15:31:31.985839986 +0100 -@@ -456,6 +456,38 @@ Print some debugging information when th ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlbinlog: login-path option + .\" login-path option: mysqlbinlog + \fB\-\-login\-path=\fR\fB\fIname\fR\fR +diff --git a/man/mysqlcheck.1 b/man/mysqlcheck.1 +index 8f1a6ce..2cddc1f 100644 +--- a/man/mysqlcheck.1 ++++ b/man/mysqlcheck.1 +@@ -456,6 +456,38 @@ Print some debugging information when the program exits\&. .IP \(bu 2.3 .\} .\" mysqlcheck: debug-info option @@ -478,7 +503,7 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 .\" debug-info option: mysqlcheck \fB\-\-debug\-info\fR .sp -@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. O +@@ -572,6 +604,21 @@ Convert table names to 5\&.1 format\&. Only table names that contain special cha .\} .\" mysqlcheck: force option .\" force option: mysqlcheck @@ -500,17 +525,10 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 \fB\-\-force\fR, \fB\-f\fR .sp -@@ -712,6 +759,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -728,6 +775,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlcheck: print-defaults option +.\" print-defaults option: mysqlcheck +\fB\-\-print\-defaults\fR @@ -519,25 +537,6 @@ diff -up mysql-5.6.16/man/mysqlcheck.1.p24 mysql-5.6.16/man/mysqlcheck.1 +This must be given as the first argument\&. +.RE +.sp -+.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 ---- mysql-5.6.16/man/mysql_config.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysql_config.1 2014-02-03 15:31:31.985839986 +0100 -@@ -174,6 +174,22 @@ The default TCP/IP port number, defined - .sp - .RS 4 - .ie n \{\ -+.\" mysql_config: variable option -+.\" variable option: mysql_config -+\fB\-\-variable=VAR\fR -+.sp -+Path to MySQL include, library and plugin directories\&. \fBVAR\fR is one of -+`pkgincludedir`, `pkglibdir` and `plugindir`, respectively\&. -+.RE -+.sp +.RS 4 +.ie n \{\ +\h'-04'\(bu\h'+03'\c @@ -546,13 +545,14 @@ diff -up mysql-5.6.16/man/mysql_config.1.p24 mysql-5.6.16/man/mysql_config.1 +.sp -1 +.IP \(bu 2.3 +.\} - \h'-04'\(bu\h'+03'\c - .\} - .el \{\ -diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 ---- mysql-5.6.16/man/mysqldump.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqldump.1 2014-02-03 15:35:30.992008930 +0100 -@@ -1246,7 +1246,7 @@ statements that include column names\&. + .\" mysqlcheck: port option + .\" port option: mysqlcheck + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqldump.1 b/man/mysqldump.1 +index 9f5dad4..d92f4e6 100644 +--- a/man/mysqldump.1 ++++ b/man/mysqldump.1 +@@ -1304,7 +1304,7 @@ statements that include column names\&. .\} .\" mysqldump: create-options option .\" create-options option: mysqldump @@ -561,7 +561,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .sp Include all MySQL\-specific table options in the CREATE TABLE -@@ -1666,6 +1666,38 @@ Do not dump the given table, which must +@@ -1724,6 +1724,38 @@ Do not dump the given table, which must be specified using both the database and \fB\-d\fR .sp Do not write any table row information (that is, do not dump table contents)\&. This is useful if you want to dump only the @@ -600,7 +600,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 CREATE TABLE statement for the table (for example, to create an empty copy of the table by loading the dump file)\&. .RE -@@ -1917,6 +1949,36 @@ for information about selectively enabli +@@ -1975,6 +2007,36 @@ for information about selectively enabling or disabling a subset of the options .IP \(bu 2.3 .\} .\" mysqldump: quick option @@ -637,7 +637,7 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .\" quick option: mysqldump \fB\-\-quick\fR, \fB\-q\fR -@@ -2194,6 +2256,21 @@ is on by default\&. Thus you rarely if e +@@ -2252,6 +2314,21 @@ is on by default\&. Thus you rarely if ever specify .el \{\ .sp -1 .IP \(bu 2.3 @@ -659,17 +659,10 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 .\} The \fB\-\-compact\fR -@@ -2371,6 +2448,21 @@ is on by default\&.) - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -2436,6 +2513,21 @@ is on by default\&.) + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqldump: print-defaults option +.\" print-defaults option: mysqldump +\fB\-\-print\-defaults\fR @@ -678,13 +671,21 @@ diff -up mysql-5.6.16/man/mysqldump.1.p24 mysql-5.6.16/man/mysqldump.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 ---- mysql-5.6.16/man/mysqlimport.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlimport.1 2014-02-03 15:36:17.680039918 +0100 -@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + To reverse + \fB\-\-opt\fR + for all features except index disabling and table locking, use +diff --git a/man/mysqlimport.1 b/man/mysqlimport.1 +index 9d82dab..1d231d3 100644 +--- a/man/mysqlimport.1 ++++ b/man/mysqlimport.1 +@@ -258,10 +258,42 @@ This option was added in MySQL 5\&.6\&.2\&. .sp -1 .IP \(bu 2.3 .\} @@ -728,7 +729,7 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 .sp Empty the table before importing the text file\&. .RE -@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE +@@ -397,6 +429,22 @@ Section\ \&13.2.6, \(lqLOAD DATA INFILE Syntax\(rq\&. Read input files locally from the client host\&. .RE .sp @@ -751,17 +752,10 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -519,6 +567,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -535,6 +583,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlimport: print-defaults option +.\" print-defaults option: mysqlimport +\fB\-\-print\-defaults\fR @@ -771,13 +765,21 @@ diff -up mysql-5.6.16/man/mysqlimport.1.p24 mysql-5.6.16/man/mysqlimport.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 ---- mysql-5.6.16/man/mysqlshow.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlshow.1 2014-02-03 15:34:12.679955219 +0100 -@@ -173,7 +173,7 @@ This option is supported beginning with ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlimport: port option + .\" port option: mysqlimport + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqlshow.1 b/man/mysqlshow.1 +index 0634515..0cfbfd3 100644 +--- a/man/mysqlshow.1 ++++ b/man/mysqlshow.1 +@@ -173,7 +173,7 @@ This option is supported beginning with MySQL 5\&.6\&.1\&. .\} .\" mysqlshow: character-sets-dir option .\" character-sets-dir option: mysqlshow @@ -786,7 +788,7 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .sp The directory where character sets are installed\&. See Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. -@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Confi +@@ -285,6 +285,38 @@ Section\ \&10.5, \(lqCharacter Set Configuration\(rq\&. .\} .el \{\ .sp -1 @@ -825,7 +827,7 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .IP \(bu 2.3 .\} .\" mysqlshow: default-auth option -@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2 +@@ -313,6 +345,22 @@ This option was added in MySQL 5\&.6\&.2\&. Connect to the MySQL server on the given host\&. .RE .sp @@ -848,17 +850,10 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c -@@ -413,6 +461,22 @@ The TCP/IP port number to use for the co - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -429,6 +477,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlshow: print-defaults option +.\" print-defaults option: mysqlshow +\fB\-\-print\-defaults\fR @@ -868,13 +863,21 @@ diff -up mysql-5.6.16/man/mysqlshow.1.p24 mysql-5.6.16/man/mysqlshow.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} -diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 ---- mysql-5.6.16/man/mysqlslap.1.p24 2014-01-14 16:38:10.000000000 +0100 -+++ mysql-5.6.16/man/mysqlslap.1 2014-02-03 15:31:31.989839989 +0100 -@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2 ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlshow: port option + .\" port option: mysqlshow + \fB\-\-port=\fR\fB\fIport_num\fR\fR, +diff --git a/man/mysqlslap.1 b/man/mysqlslap.1 +index 7c4d4e7..85a5168 100644 +--- a/man/mysqlslap.1 ++++ b/man/mysqlslap.1 +@@ -526,6 +526,38 @@ This option was added in MySQL 5\&.6\&.2\&. .el \{\ .sp -1 .IP \(bu 2.3 @@ -913,7 +916,7 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 .\} .\" mysqlslap: delimiter option .\" delimiter option: mysqlslap -@@ -584,6 +616,37 @@ Section\ \&6.3.7.7, \(lqThe Cleartext Cl +@@ -584,6 +616,37 @@ Section\ \&6.3.8.7, \(lqThe Cleartext Client-Side Authentication Plugin\(rq\&.) \fB\-e \fR\fB\fIengine_name\fR\fR .sp The storage engine to use for creating tables\&. @@ -951,17 +954,10 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 .RE .sp .RS 4 -@@ -821,6 +884,22 @@ The file or string containing the statem - .RE - .sp - .RS 4 -+.ie n \{\ -+\h'-04'\(bu\h'+03'\c -+.\} -+.el \{\ -+.sp -1 -+.IP \(bu 2.3 -+.\} +@@ -822,6 +885,22 @@ This option was added in MySQL 5\&.6\&.2\&. + .sp -1 + .IP \(bu 2.3 + .\} +.\" mysqlslap: print-defaults option +.\" print-defaults option: mysqlslap +\fB\-\-print\-defaults\fR @@ -971,6 +967,13 @@ diff -up mysql-5.6.16/man/mysqlslap.1.p24 mysql-5.6.16/man/mysqlslap.1 +.RE +.sp +.RS 4 - .ie n \{\ - \h'-04'\(bu\h'+03'\c - .\} ++.ie n \{\ ++\h'-04'\(bu\h'+03'\c ++.\} ++.el \{\ ++.sp -1 ++.IP \(bu 2.3 ++.\} + .\" mysqlslap: port option + .\" port option: mysqlslap + \fB\-\-port=\fR\fB\fIport_num\fR\fR, diff --git a/community-mysql-ssltest.patch b/community-mysql-ssltest.patch deleted file mode 100644 index 6fdd271..0000000 --- a/community-mysql-ssltest.patch +++ /dev/null @@ -1,30 +0,0 @@ -Don't test EDH-RSA-DES-CBC-SHA cipher, it seems to be removed from openssl -which now makes mariadb/mysql FTBFS because openssl_1 test fails - -Related: #1044565 - - -diff -up mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 mariadb-5.5.34/mysql-test/r/openssl_1.result ---- mariadb-5.5.34/mysql-test/r/openssl_1.result.p20 2014-01-06 11:51:18.878640731 +0100 -+++ mariadb-5.5.34/mysql-test/r/openssl_1.result 2014-01-06 11:51:45.364678942 +0100 -@@ -196,8 +196,6 @@ Ssl_cipher DHE-RSA-AES256-SHA - Variable_name Value - Ssl_cipher EDH-RSA-DES-CBC3-SHA - Variable_name Value --Ssl_cipher EDH-RSA-DES-CBC-SHA --Variable_name Value - Ssl_cipher RC4-SHA - select 'is still running; no cipher request crashed the server' as result from dual; - result -diff -up mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 mariadb-5.5.34/mysql-test/t/openssl_1.test ---- mariadb-5.5.34/mysql-test/t/openssl_1.test.p20 2014-01-06 11:51:18.830640662 +0100 -+++ mariadb-5.5.34/mysql-test/t/openssl_1.test 2014-01-06 11:51:18.879640733 +0100 -@@ -218,7 +218,7 @@ DROP TABLE t1; - # Common ciphers to openssl and yassl - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=DHE-RSA-AES256-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC3-SHA ----exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA -+#--exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=EDH-RSA-DES-CBC-SHA - --exec $MYSQL --host=localhost -e "SHOW STATUS LIKE 'Ssl_cipher';" --ssl-cipher=RC4-SHA - --disable_query_log - --disable_result_log diff --git a/community-mysql.spec b/community-mysql.spec index f0d2254..06d46e5 100644 --- a/community-mysql.spec +++ b/community-mysql.spec @@ -12,9 +12,11 @@ # Turn that off to ensure such files don't get included in RPMs (cf bz#884755). %global _default_patch_flags --no-backup-if-mismatch +%global skiplist platform-specific-tests.list + Name: community-mysql -Version: 5.6.16 -Release: 2%{?dist} +Version: 5.6.17 +Release: 1%{?dist} Summary: MySQL client programs and shared libraries Group: Applications/Databases URL: http://www.mysql.com @@ -29,13 +31,10 @@ Source4: mysql_config.sh Source5: my_config.h Source6: README.mysql-docs Source7: README.mysql-license -Source9: mysql-embedded-check.c Source10: mysql.tmpfiles.d Source11: mysqld.service Source12: mysqld-prepare-db-dir Source13: mysqld-wait-ready -Source14: rh-skipped-tests-base.list -Source15: rh-skipped-tests-arm.list # To track rpmlint warnings Source17: mysql-5.6.10-rpmlintrc @@ -54,11 +53,7 @@ Patch23: community-mysql-5.6.16-libmysql-version.patch Patch24: community-mysql-man-pages.patch Patch25: community-mysql-5.6.16-mysql-install.patch Patch26: community-mysql-5.6.13-major.patch -Patch28: community-mysql-5.6.13-truncate-file.patch Patch34: community-mysql-pluginerrmsg.patch -Patch35: community-mysql-rhbz1059545.patch -Patch36: community-mysql-ssltest.patch -Patch37: community-mysql-5.6.16-fix-regex-werror.patch BuildRequires: cmake BuildRequires: dos2unix @@ -144,10 +139,6 @@ Requires: systemd Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -# This is actually needed for the %%triggerun script but Requires(triggerun) -# is not valid. We can use %%post because this particular %%triggerun script -# should fire just after this package is installed. -Requires(post): systemd-sysv # mysqlhotcopy needs DBI/DBD support Requires: perl(DBI) Requires: perl(DBD::mysql) @@ -249,28 +240,45 @@ the MySQL sources. %if %{with_shared_lib_major_hack} %patch26 -p1 %endif -%patch28 -p0 %patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 + +# Modify tests to pass on all archs +pushd mysql-test +add_test () { + echo $1 >> %{skiplist}; +} # Workaround for upstream bug #http://bugs.mysql.com/56342 -rm -f mysql-test/t/ssl_8k_key-master.opt +rm -f t/ssl_8k_key-master.opt +touch %{skiplist} -# Generate a list of tests that fail, but are not disabled by upstream -cat %{SOURCE14} > mysql-test/rh-skipped-tests.list -# Disable some tests failing on ARM architectures -%ifarch %{arm} -cat %{SOURCE15} >> mysql-test/rh-skipped-tests.list +# Archs without hw performance counter, rh 741325 +%ifarch %{arm} aarch64 sparc64 +add_test 'perfschema.func_file_io : rh 741325' +add_test 'perfschema.func_mutex : rh 741325' +add_test 'perfschema.setup_objects : rh 741325' %endif -%ifarch ppc ppc64 s390 s390x -echo "innodb.innodb_ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ctype_ldml : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ps_ddl : rhbz#1056972" >> mysql-test/rh-skipped-tests.list -echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list + +# Archs with collation issues, bugs.mysql.com/46895 +%ifarch %{arm} aarch64 ppc %{power64} s390 s390x +add_test 'main.outfile_loaddata : 46895' +add_test 'innodb.innodb_ctype_ldml : 46895' +add_test 'main.ctype_ldml : 46895' %endif +# Archs with ps_ddl issues +%ifarch ppc s390 +add_test 'main.ps_ddl : ps_ddl issue' +add_test 'main.ps_ddl1 : ps_ddl issue' +%endif + +# Arch with other issues +%ifarch ppc +add_test 'main.audit_plugin : unknown' +add_test 'main.upgrade : unknown' +%endif +popd + %build # fail quickly and obviously if user tries to build as root %if %runselftest @@ -282,27 +290,8 @@ echo "main.ps_ddl1 : rhbz#1056972" >> mysql-test/rh-skipped-tests.list fi %endif -CFLAGS="%{optflags} -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -# MySQL 4.1.10 definitely doesn't work under strict aliasing; also, -# gcc 4.1 breaks MySQL 5.0.16 without -fwrapv -CFLAGS="$CFLAGS -fno-strict-aliasing -fwrapv" -# force PIC mode so that we can build libmysqld.so -CFLAGS="$CFLAGS -fPIC" -# gcc seems to have some bugs on sparc as of 4.4.1, back off optimization -# submitted as bz #529298 -%ifarch sparc sparcv9 sparc64 -CFLAGS=$(echo $CFLAGS| sed -e "s|-O2|-O1|g" ) -%endif -CXXFLAGS="$CFLAGS" -export CFLAGS CXXFLAGS -%if %{_hardened_build} -LDFLAGS="$LDFLAGS -pie" -export LDFLAGS -%endif - -# build out of source -mkdir build -pushd build +# build out of source +mkdir build && pushd build # The INSTALL_xxx macros have to be specified relative to CMAKE_INSTALL_PREFIX # so we can't use %%{_datadir} and so forth here. @@ -331,73 +320,41 @@ cmake .. -DBUILD_CONFIG=mysql_release \ -DENABLE_DTRACE=ON \ -DWITH_INNODB_MEMCACHED=ON \ -DWITH_EMBEDDED_SERVER=ON \ + -DWITH_EMBEDDED_SHARED_LIBRARY=ON \ -DWITH_EDITLINE=system \ -DWITH_LIBEVENT=system \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -%if %{_hardened_build} - -DWITH_MYSQLD_LDFLAGS="-Wl,-z,relro,-z,now" -%endif + -DCMAKE_C_FLAGS="%{optflags}" \ + -DCMAKE_CXX_FLAGS="%{optflags}" \ + %{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"} make %{?_smp_mflags} VERBOSE=1 -# Regular build will make libmysqld.a but not libmysqld.so :-( -# Upstream bug: http://bugs.mysql.com/68559 -mkdir libmysqld/work -pushd libmysqld/work -ar -x ../libmysqld.a -%{__cc} $CFLAGS $LDFLAGS -DEMBEDDED_LIBRARY -shared -Wl,-soname,libmysqld.so.18 -o libmysqld.so.18.1.0 \ - *.o \ - -lpthread -laio -lcrypt -lssl -lcrypto -lz -lrt -lstdc++ -ldl -lm -lc -# This is to check that we built a complete library -cp -p %{SOURCE9} . -ln -s libmysqld.so.18.1.0 libmysqld.so.18 -%{__cc} -I../../../include -I../../include $CFLAGS mysql-embedded-check.c libmysqld.so.18 -LD_LIBRARY_PATH=. ldd ./a.out - - %install pushd build make DESTDIR=%{buildroot} install -# List the installed tree for RPM package maintenance purposes. -find %{buildroot} -print | sed "s|^%{buildroot}||" | sort > ROOTFILES +# multilib header support +%ifarch aarch64 %{ix86} x86_64 ppc %{power64} %{sparc} s390 s390x +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h +install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +%endif - -# cmake generates some completely wacko references to -lprobes_mysql when -# building with dtrace support. Haven't found where to shut that off, -# so resort to this blunt instrument. While at it, let's not reference -# libmysqlclient_r anymore either. -sed -e 's/-lprobes_mysql//' -e 's/-lmysqlclient_r/-lmysqlclient/' \ - %{buildroot}%{_bindir}/mysql_config >mysql_config.tmp -cp -p -f mysql_config.tmp %{buildroot}%{_bindir}/mysql_config -chmod 0755 %{buildroot}%{_bindir}/mysql_config - -# Multilib header hacks -# We only apply this to known Red Hat multilib arches, per bug #181335 -case $(uname -i) in - i386 | x86_64 | ppc | ppc64 | ppc64p7 | s390 | s390x | sparc | sparc64 | aarch64 ) - mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_$(uname -i).h - install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ - mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config - ;; - arm* ) - mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h - install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ - mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} - install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config - ;; - *) - ;; -esac +%ifarch %{arm} +mv %{buildroot}%{_includedir}/mysql/my_config.h %{buildroot}%{_includedir}/mysql/my_config_arm.h +install -p -m 644 %{SOURCE5} %{buildroot}%{_includedir}/mysql/ +mv %{buildroot}%{_bindir}/mysql_config %{buildroot}%{_bindir}/mysql_config-%{__isa_bits} +install -p -m 0755 %{SOURCE4} %{buildroot}%{_bindir}/mysql_config +%endif # install INFO_SRC, INFO_BIN into libdir (upstream thinks these are doc files, # but that's pretty wacko --- see also mysql-file-contents.patch) install -p -m 0644 Docs/INFO_SRC %{buildroot}%{_libdir}/mysql/ install -p -m 0644 Docs/INFO_BIN %{buildroot}%{_libdir}/mysql/ - mkdir -p %{buildroot}/var/log touch %{buildroot}/var/log/mysqld.log @@ -405,6 +362,7 @@ mkdir -p %{buildroot}/var/run/mysqld install -p -m 0755 -d %{buildroot}/var/lib/mysql install -D -p -m 0644 %{SOURCE3} %{buildroot}/etc/my.cnf +mkdir %{buildroot}%{_sysconfdir}/my.cnf.d # install systemd unit files and scripts for handling server startup mkdir -p %{buildroot}%{_unitdir} @@ -415,19 +373,6 @@ install -p -m 755 %{SOURCE13} %{buildroot}%{_libexecdir}/ mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d install -p -m 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/tmpfiles.d/%{name}.conf -# Remove libmysqld.a, install libmysqld.so -rm -f %{buildroot}%{_libdir}/mysql/libmysqld.a -install -m 0755 libmysqld/work/libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18.1.0 -ln -s libmysqld.so.18.1.0 %{buildroot}%{_libdir}/mysql/libmysqld.so.18 -ln -s libmysqld.so.18 %{buildroot}%{_libdir}/mysql/libmysqld.so - -# libmysqlclient_r is no more. Upstream tries to replace it with symlinks -# but that really doesn't work (wrong soname in particular). We'll keep -# just the devel libmysqlclient_r.so link, so that rebuilding without any -# source change is enough to get rid of dependency on libmysqlclient_r. -rm -f ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so* -ln -s libmysqlclient.so ${RPM_BUILD_ROOT}%{_libdir}/mysql/libmysqlclient_r.so - # mysql-test includes one executable that doesn't belong under /usr/share, # so move it and provide a symlink mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir} @@ -458,11 +403,11 @@ echo "%{_libdir}/mysql" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf popd # copy additional docs into build tree so %%doc will find them -cp -p %{SOURCE6} README.mysql-docs -cp -p %{SOURCE7} README.mysql-license +install -p -m 0644 %{SOURCE6} README.mysql-docs +install -p -m 0644 %{SOURCE7} README.mysql-license # Install the list of skipped tests to be available for user runs -install -p -m 0644 mysql-test/rh-skipped-tests.list %{buildroot}%{_datadir}/mysql-test +install -p -m 0644 mysql-test/%{skiplist} %{buildroot}%{_datadir}/mysql-test # Upstream bugs: http://bugs.mysql.com/68517 http://bugs.mysql.com/68521 chmod 0644 %{buildroot}%{_datadir}/%{name}/innodb_memcached_config.sql @@ -482,44 +427,21 @@ rm %{buildroot}%{_mandir}/man1/{mysqltest,mysql_client_test}_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysqltest.1 %{buildroot}%{_mandir}/man1/mysqltest_embedded.1 cp -p %{buildroot}%{_mandir}/man1/mysql_client_test.1 %{buildroot}%{_mandir}/man1/mysql_client_test_embedded.1 -mkdir %{buildroot}%{_sysconfdir}/my.cnf.d - %check %if %runselftest - pushd build - # Hack to let 32- and 64-bit tests run concurrently on same build machine - case $(uname -m) in - aarch64 | ppc64 | ppc64p7 | s390x | sparc64 | x86_64 ) - MTR_BUILD_THREAD=7 - ;; - *) - MTR_BUILD_THREAD=11 - ;; - esac - - export MTR_BUILD_THREAD - - make test VERBOSE=1 - - # The cmake build scripts don't provide any simple way to control the - # options for mysql-test-run, so ignore the make target and just call it - # manually. Nonstandard options chosen are: - # --force to continue tests after a failure - # no retries please - # skip tests that are listed in rh-skipped-tests.list - # avoid redundant test runs with --binlog-format=mixed - # increase timeouts to prevent unwanted failures during mass rebuilds - # todo: enable --ssl - pushd mysql-test - cp ../../mysql-test/rh-skipped-tests.list . - ./mtr \ - --mem --parallel=auto --force --retry=0 \ - --skip-test-list=rh-skipped-tests.list \ - --mysqld=--binlog-format=mixed \ - --suite-timeout=720 --testcase-timeout=30 \ - --clean-vardir - rm -rf var/* - popd +pushd build +make test VERBOSE=1 +pushd mysql-test +cp ../../mysql-test/%{skiplist} . +./mtr \ + --mem --parallel=auto --force --retry=0 \ + --skip-test-list=%{skiplist} \ + --mysqld=--binlog-format=mixed \ + --suite-timeout=720 --testcase-timeout=30 \ + --clean-vardir + rm -rf var/* $(readlink var) +popd +popd %endif %pre server @@ -535,21 +457,6 @@ mkdir %{buildroot}%{_sysconfdir}/my.cnf.d %systemd_post mysqld.service /bin/touch /var/log/mysqld.log -# Handle upgrading from SysV initscript to native systemd unit. -# We can tell if a SysV version of mysql was previously installed by -# checking to see if the initscript is present. -%triggerun server -- mysql-server -if [ -f /etc/rc.d/init.d/mysqld ]; then - # Save the current service runlevel info - # User must manually run systemd-sysv-convert --apply mysqld - # to migrate them to systemd targets - /usr/bin/systemd-sysv-convert --save mysqld >/dev/null 2>&1 || : - - # Run these because the SysV package being removed won't do them - /sbin/chkconfig --del mysqld >/dev/null 2>&1 || : - /bin/systemctl try-restart mysqld.service >/dev/null 2>&1 || : -fi - %preun server %systemd_preun mysqld.service @@ -603,7 +510,7 @@ fi # libs package because it can be used for client settings too. %config(noreplace) %{_sysconfdir}/my.cnf %dir %{_libdir}/mysql -%{_libdir}/mysql/libmysqlclient.so.* +%{_libdir}/mysql/libmysqlclient*.so.* %config(noreplace) /etc/ld.so.conf.d/* %files common @@ -748,6 +655,19 @@ fi %{_mandir}/man1/mysql_client_test.1* %changelog +* Fri Apr 04 2014 Bjorn Munch 5.6.17-1 +- Update to MySQL 5.6.17, for various fixes described at + https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-17.html +- libmysqld built as shared lib now supported upstream +- Remove patches now upstream: truncate-file, rhbz1059545, ssltest + and regex-werror +- Use more standard (and tested) build flags, while still respect + optflags and hardened_build +- libmysqlclient_r* symlinks are fixed upstream +- Remove sysv to systemd logic +- Rework skipping of arch specific tests +- Multiple mtr sessions are supported by default + * Mon Feb 3 2014 Honza Horak 5.6.16-2 - Rebuild -man-pages.patch to apply smoothly diff --git a/mysql-embedded-check.c b/mysql-embedded-check.c deleted file mode 100644 index 8bf8ca5..0000000 --- a/mysql-embedded-check.c +++ /dev/null @@ -1,26 +0,0 @@ -/* simple test program to see if we can link the embedded server library */ - -#include -#include -#include - -#include "mysql.h" - -MYSQL *mysql; - -static char *server_options[] = \ - { "mysql_test", "--defaults-file=my.cnf", NULL }; -int num_elements = (sizeof(server_options) / sizeof(char *)) - 1; - -static char *server_groups[] = { "libmysqld_server", - "libmysqld_client", NULL }; - -int main(int argc, char **argv) -{ - mysql_library_init(num_elements, server_options, server_groups); - mysql = mysql_init(NULL); - mysql_close(mysql); - mysql_library_end(); - - return 0; -} diff --git a/rh-skipped-tests-arm.list b/rh-skipped-tests-arm.list deleted file mode 100644 index 6fb816c..0000000 --- a/rh-skipped-tests-arm.list +++ /dev/null @@ -1,14 +0,0 @@ - -# Disable perfschema.func_file_io and perfschema.func_mutex, which fail -# because cycle counter returns 0 every time on ARM architectures. -# This is caused by missing hardware performance counter support on ARM. -# Discussion about fixing that can be found in RH bug #741325. - -perfschema.func_file_io : rhbz#773116 cycle counter does not work on arm -perfschema.func_mutex : rhbz#773116 cycle counter does not work on arm - -# These tests fail in Fedora rawhide scratch build - -innodb.innodb_ctype_ldml : Unknown collation: 'utf8_5624_1' -main.ctype_ldml : Unknown collation: 'utf8_5624_1' -perfschema.setup_objects : diff --git a/rh-skipped-tests-base.list b/rh-skipped-tests-base.list deleted file mode 100644 index 8d92952..0000000 --- a/rh-skipped-tests-base.list +++ /dev/null @@ -1,13 +0,0 @@ -# Disable the outfile_loaddata test, which as of 5.1.38 is giving -# platform-dependent results, with the "expected" results being arguably the -# wrong ones. This is upstream at http://bugs.mysql.com/bug.php?id=46895 -# (note that upstream has also disabled it, but only for Solaris, so we still -# need to disable it here). -# Still broken in 5.5.14, despite alleged fix. - -outfile_loaddata : bug#46895 code wrong, expected results wrong too - -# Disable innodb.innodb, which is showing platform-dependent results -# as of 5.5.9. Upstream at http://bugs.mysql.com/bug.php?id=60155 - -innodb.innodb : bug#60155 has platform-dependent results diff --git a/sources b/sources index 29fbcd7..6b13418 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1d3d91e8459c719bbef7c97bb499634d mysql-5.6.16.tar.gz +82114fa7c13fa3ca897b34666577d9f4 mysql-5.6.17.tar.gz