Update to 5.6.17

Signed-off-by: Bjorn Munch <bjorn.munch@oracle.com>
Signed-off-by: Honza Horak <hhorak@redhat.com>
This commit is contained in:
Bjorn Munch 2014-04-04 14:46:52 +02:00 committed by Honza Horak
parent aedd719f3f
commit 5f2a76ba08
13 changed files with 282 additions and 576 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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");

View File

@ -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

View File

@ -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

View File

@ -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
<?xml version="1\&.0"?>
<resultset statement="SHOW VARIABLES LIKE \*(Aqversion%\*(Aq" xmlns:xsi="http://www\&.w3\&.org/2001/XMLSchema\-instance">
<row>
@@ -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,

View File

@ -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

View File

@ -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 <bjorn.munch@oracle.com> 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 <hhorak@redhat.com> 5.6.16-2
- Rebuild -man-pages.patch to apply smoothly

View File

@ -1,26 +0,0 @@
/* 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;
}

View File

@ -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 : <Needs more investigation>

View File

@ -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

View File

@ -1 +1 @@
1d3d91e8459c719bbef7c97bb499634d mysql-5.6.16.tar.gz
82114fa7c13fa3ca897b34666577d9f4 mysql-5.6.17.tar.gz