commit 4256f5531a4ed577c755dd49d69145f5ec52f7cf
Author: Elan Ruusamäe <[email protected]>
Date:   Sat Sep 6 20:57:15 2014 +0300

    mysqldumpslow: process clusters.conf for default mysqld.conf location

 mysql.spec                   |  2 ++
 mysqldumpslow-clusters.patch | 46 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+)
---
diff --git a/mysql.spec b/mysql.spec
index 8bfceec..0c59b0f 100644
--- a/mysql.spec
+++ b/mysql.spec
@@ -78,6 +78,7 @@ Patch22:      bug-66589.patch
 Patch23:       bug-44278.patch
 Patch24:       %{name}-cmake.patch
 Patch25:       %{name}-readline.patch
+Patch26:       mysqldumpslow-clusters.patch
 URL:           http://www.mysql.com/products/community/
 BuildRequires: bison >= 1.875
 BuildRequires: cmake >= 2.6
@@ -521,6 +522,7 @@ mv sphinx-*/mysqlse storage/sphinx
 %patch23 -p1
 %patch24 -p1
 %patch25 -p1
+%patch26 -p1
 
 # to get these files rebuild
 [ -f sql/sql_yacc.cc ] && rm sql/sql_yacc.cc
diff --git a/mysqldumpslow-clusters.patch b/mysqldumpslow-clusters.patch
new file mode 100644
index 0000000..415ab93
--- /dev/null
+++ b/mysqldumpslow-clusters.patch
@@ -0,0 +1,46 @@
+--- percona-server-5.6.20-68.0/scripts/mysqldumpslow.sh~       2014-08-29 
10:58:05.000000000 +0300
++++ percona-server-5.6.20-68.0/scripts/mysqldumpslow.sh        2014-09-06 
20:50:22.000000000 +0300
+@@ -51,8 +51,33 @@
+ 
+ $opt{'help'} and usage();
+ 
++# find config file for first defined cluster
++sub get_defaults_file {
++      my $clusters_file = '/etc/mysql/clusters.conf';
++      return unless -f $clusters_file;
++
++      open(my $fh , "< $clusters_file") or return;
++      while (<$fh>) {
++              my ($config, $clusterdir) = m{^([^#]+)\s*=\s*(.+)$};
++              next unless $config;
++
++              if ($config !~ m{/}) {
++                      my $f = "/etc/mysql/$config";
++                      return $f if -f $f;
++
++                      my $f = "$clusterdir/$config";
++                      return $f if -f $f;
++              }
++              return $config;
++      }
++      close($fh) or die $!;
++      return undef;
++}
++
+ unless (@ARGV) {
+-    my $defaults   = `my_print_defaults mysqld`;
++      my $defaults_file = get_defaults_file;
++      my $defaults_arg = "-c $defaults_file" if $defaults_file;
++   my $defaults   = `my_print_defaults $defaults_arg mysqld`;
+     my $basedir = ($defaults =~ m/--basedir=(.*)/)[0]
+       or die "Can't determine basedir from 'my_print_defaults mysqld' output: 
$defaults";
+     warn "basedir=$basedir\n" if $opt{v};
+@@ -61,7 +86,7 @@
+     my $slowlog = ($defaults =~ m/--slow-query-log-file=(.*)/)[0];
+     if (!$datadir or $opt{i}) {
+       # determine the datadir from the instances section of /etc/my.cnf, if 
any
+-      my $instances  = `my_print_defaults instances`;
++      my $instances  = `my_print_defaults $defaults_arg instances`;
+       die "Can't determine datadir from 'my_print_defaults mysqld' output: 
$defaults"
+           unless $instances;
+       my @instances = ($instances =~ m/^--(\w+)-/mg);
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/mysql.git/commitdiff/5da41d2ab056475240c3007a6e290533baa74446

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to