Compare commits

...
Sign in to create a new pull request.

68 commits

Author SHA1 Message Date
Fedora Release Engineering
0921d9a182 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 22:33:13 +00:00
David Beveridge
756c5ddc83 update changelog and release ver 2025-04-05 19:56:59 +10:00
David Beveridge
087cd3ab8d add notify-cmd feature and suppress-uninitialized-warning 2025-04-04 15:38:44 +10:00
David Beveridge
9d370f57a6 add notify-cmd feature and suppress-uninitialized-warning 2025-04-04 15:37:21 +10:00
David Beveridge
74fb19ac70 move 2025-03-26 20:21:45 +10:00
David Beveridge
5934fe8d0b folder 2025-03-26 20:11:24 +10:00
David Beveridge
a1ad1946b0 mkdir 2025-03-26 20:02:19 +10:00
David Beveridge
192d0da5a3 install files 2025-03-26 19:53:24 +10:00
David Beveridge
9cc9477421 revert 2025-03-26 19:39:27 +10:00
David Beveridge
38606e4697 move bin to sbin 2025-03-26 19:22:43 +10:00
David Beveridge
d34c8674ec move sbin to bin 2025-03-26 19:20:02 +10:00
David Beveridge
28ed288fe5 Unify bin and sbin 2025-03-26 18:04:50 +10:00
David Beveridge
6828340748 Fix for RPM changed patch syntax 2025-02-02 12:58:18 +10:00
Fedora Release Engineering
8fc747b340 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 19:31:49 +00:00
Miroslav Suchý
dc3d348e17 convert GPLv2 license to SPDX
This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4
2024-07-29 11:26:25 +02:00
Fedora Release Engineering
f3406d9a9f Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 19:00:58 +00:00
Software Management Team
dbbb177104 Eliminate use of obsolete %patchN syntax (#2283636) 2024-05-30 12:46:48 +02:00
Fedora Release Engineering
2bb29ac626 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:29:03 +00:00
Fedora Release Engineering
582193b50f Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 09:01:09 +00:00
Fedora Release Engineering
43480b54a6 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 16:09:41 +00:00
Fedora Release Engineering
59988c1408 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 21:04:44 +00:00
Fedora Release Engineering
f331078327 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:04:31 +00:00
Fedora Release Engineering
8a4e52c373 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 20:44:34 +00:00
Fedora Release Engineering
1f7bef0abe - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 15:41:40 +00:00
Fedora Release Engineering
938b5ec5c1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:06:21 +00:00
Tom Stellard
85fee40588 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 02:12:47 +00:00
Fedora Release Engineering
a798f6c786 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 08:43:49 +00:00
Fedora Release Engineering
0dc6304569 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 14:25:38 +00:00
Fedora Release Engineering
d71e3a8b91 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 18:07:31 +00:00
Fedora Release Engineering
86d85179cb - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 11:49:22 +00:00
Igor Gnatenko
c9a67e0f49 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:18 +01:00
Fedora Release Engineering
7d75fb509f - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 11:15:54 +00:00
Jason Tibbitts
83a536e4f0 Remove needless use of %defattr 2018-07-10 02:07:15 -05:00
David Beveridge
d84a609949 Fix TALOS-2017-0501, CVE-2017-14474 - CVE-2017-14481
Multiple exploitable remote command injection vulnerabilities exist
in the MySQL Master-Master Replication Manager (MMM) mmm_agentd
daemon 2.2.1. mmm_agentd commonly runs with root privileges and does not
require authentication by default.  A specially crafted MMM protocol
message can cause a shell command injection resulting in arbitrary
command execution with the privileges of the mmm_agentd process.  An
attacker that can initiate a TCP session with mmm_agentd can trigger
these vulnerabilities.
2018-05-02 08:38:06 +10:00
Fedora Release Engineering
907ac0744b - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-02-08 03:38:21 +00:00
Ruben Kerkhof
081575a76c Correct permissions for systemd units (#1527992) 2017-12-20 19:51:30 +01:00
Fedora Release Engineering
2373b9ea3f - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild 2017-07-26 22:32:52 +00:00
Fedora Release Engineering
e2ccab2743 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild 2017-02-10 21:57:03 +00:00
Petr Písař
ed7943f4b2 Mandatory Perl build-requires added <https://fedoraproject.org/wiki/Changes/Build_Root_Without_Perl> 2016-06-24 09:55:28 +02:00
Fedora Release Engineering
179245deb2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild 2016-02-04 08:58:35 +00:00
Ruben Kerkhof
2bf967d226 Fix bug with newer Net::ARP version numbers (#1169914) 2015-12-10 17:56:06 +01:00
Dennis Gilmore
c72d50e374 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild 2015-06-17 21:19:52 +00:00
Dennis Gilmore
9450ca1da2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild 2014-06-07 06:42:50 -05:00
Ruben Kerkhof
6330ed9eb0 Convert to systemd (#913501) 2013-09-15 20:02:21 +02:00
Ruben Kerkhof
12d98555e3 Cleanup the spec somewhat 2013-09-15 18:20:37 +02:00
Ruben Kerkhof
bf7e5b219d Remove trailing whitespace 2013-09-15 18:03:22 +02:00
Ruben Kerkhof
87b825650a Monitor needs perl-Time-HiRes (#915665) 2013-09-15 17:59:55 +02:00
Petr Písař
91c6bc910f Perl 5.18 rebuild 2013-08-03 12:38:00 +02:00
Ville Skyttä
a1842396bb Honor %{_pkgdocdir} where available.
- Don't ship patch backup files.
2013-07-26 21:15:54 +03:00
Petr Písař
3b76fd8817 Perl 5.18 rebuild 2013-07-17 20:25:26 +02:00
Dennis Gilmore
21d0a82c1f - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild 2013-02-14 01:47:49 -06:00
Dennis Gilmore
59011c04a8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild 2012-07-19 22:30:56 -05:00
Dennis Gilmore
35cd8c57c3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild 2012-01-13 04:40:44 -06:00
Dennis Gilmore
6c9a1df9f3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild 2011-02-08 16:35:23 -06:00
BJ Dierkes
249f6474fc - Updated agent/monitor init scripts to create /var/run/mysql-mmm
if it does not exist.  Resolves BZ#656634
- List /var/run, /var/lock/subsys files as %%ghost entries
2010-11-23 19:01:31 -06:00
Fedora Release Engineering
e11c9d7ad5 dist-git conversion 2010-07-29 03:54:31 +00:00
derks
1e51ddc870 - Latest upstream release, fixes possible errors related to replication.
Full ChangeLog available at: http://mysql-mmm.org/mmm2:changelog
2010-05-11 17:42:44 +00:00
derks
0a9fa91876 - Latest upstream release. Resolves LaunchPad Issues 416572, 422549,
531011, 531841, 525719. Full ChangeLog available at:
    http://mysql-mmm.org/mmm2:changelog
2010-03-11 01:00:40 +00:00
derks
adbb30a4e3 Removing -1 from PDF version (typo) 2010-03-08 18:11:26 +00:00
derks
857b70f79e - Latest upstream release, resolves DBI timeout issue. Full changelog
available at: http://mysql-mmm.org/mmm2:changelog
- Removing Patch4: mysql-mmm-2.0.10-default_logging.patch (applied
    upstream)
2010-03-08 17:53:47 +00:00
derks
cae0777c88 - Agent Requires: perl-DBD-mysql. Resolves BZ #568870 2010-02-27 01:19:30 +00:00
derks
d0551f3370 - Fixed init scripts to check for ENABLED only within the start function.
Tue Feb 23 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.1.0-2
- Added defaults file for mysql-mmm-agent and mysql-mmm-monitor
- Init scripts exit if ENABLED != 1
- Fixed typo in mysql-mmm-monitor where mmmd_mon was still referenced
2010-02-25 17:47:18 +00:00
derks
0957d37472 - Latest sources from upstream
- Updated init scripts to reflect new binary paths (i.e. mmmd_agent ->
    mmm_agentd)
- Updated Patch0: mysql-mmm-2.1.0-paths.patch
- Removed Patch1: mysql-mmm-2.0.9-configs.patch (added source config files)
2010-02-23 03:51:59 +00:00
derks
14c9cd5242 Latest sources from upstream (2.1.0) 2010-02-22 23:53:34 +00:00
derks
366e91d4ff Rebuild for F13/devel retag 2010-02-17 21:15:00 +00:00
derks
40239bc2f6 Importing to devel, again (last build went missing) 2010-02-17 21:05:54 +00:00
derks
7353926d8c 2.0.11 upstream source update 2010-02-11 01:05:42 +00:00
derks
6a86360f2b Initial import of mysql-mmm-2.0.10-4.src.rpm 2009-12-14 19:44:24 +00:00
20 changed files with 1525 additions and 21 deletions

View file

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
mysql-mmm-2.2.1.pdf
mysql-mmm-2.2.1.tar.gz
/mysql-mmm-2.2.1.pdf
/mysql-mmm-2.2.1.tar.gz

View file

@ -1,21 +0,0 @@
# Makefile for source rpm: mysql-mmm
# $Id$
NAME := mysql-mmm
SPECFILE = $(firstword $(wildcard *.spec))
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

6
mmm_agent.conf Normal file
View file

@ -0,0 +1,6 @@
include mmm_common.conf
# The 'this' variable refers to this server. Proper operation requires
# that 'this' server (db1 by default), as well as all other servers, have the
# proper IP addresses set in mmm_common.conf.
this db1

40
mmm_common.conf Normal file
View file

@ -0,0 +1,40 @@
active_master_role writer
<host default>
cluster_interface eth0
pid_path /run/mysql-mmm-agent.pid
bin_path /usr/libexec/mysql-mmm/
replication_user replicant
replication_password slave
agent_user mmm_agent
agent_password RepAgent
</host>
<host db1>
ip 192.168.100.49
mode master
peer db2
</host>
<host db2>
ip 192.168.100.50
mode master
peer db1
</host>
#<host db3>
# ip 192.168.100.51
# mode slave
#</host>
<role writer>
hosts db1, db2
ips 192.168.100.250
mode exclusive
</role>
<role reader>
hosts db1, db2
ips 192.168.100.251, 192.168.100.252
mode balanced
</role>

24
mmm_mon.conf Normal file
View file

@ -0,0 +1,24 @@
include mmm_common.conf
<monitor>
ip 127.0.0.1
pid_path /run/mysql-mmm-monitor.pid
bin_path /usr/libexec/mysql-mmm
status_path /var/lib/mysql-mmm/mmm_mond.status
ping_ips 192.168.100.50
auto_set_online 60
# The kill_host_bin does not exist by default, though the monitor will
# throw a warning about it missing. See the section 5.10 "Kill Host
# Functionality" in the PDF documentation.
#
# kill_host_bin /usr/libexec/mysql-mmm/monitor/kill_host
#
</monitor>
<host default>
monitor_user mmm_monitor
monitor_password RepMonitor
</host>
debug 0

18
mmm_mon_log.conf Normal file
View file

@ -0,0 +1,18 @@
#log4perl.logger = FATAL, MMMLog, MailFatal
log4perl.logger = FATAL, MMMLog
log4perl.appender.MMMLog = Log::Log4perl::Appender::File
log4perl.appender.MMMLog.Threshold = INFO
log4perl.appender.MMMLog.filename = /var/log/mysql-mmm/mmm_mond.log
log4perl.appender.MMMLog.recreate = 1
log4perl.appender.MMMLog.layout = PatternLayout
log4perl.appender.MMMLog.layout.ConversionPattern = %d %5p %m%n
#log4perl.appender.MailFatal = Log::Dispatch::Email::MailSender
#log4perl.appender.MailFatal.Threshold = FATAL
#log4perl.appender.MailFatal.from = mmm@example.com
#log4perl.appender.MailFatal.to = root
#log4perl.appender.MailFatal.buffered = 0
#log4perl.appender.MailFatal.subject = FATAL error in mysql-mmm-monitor
#log4perl.appender.MailFatal.layout = PatternLayout
#log4perl.appender.MailFatal.layout.ConversionPattern = %d %m%n

43
mmm_tools.conf Normal file
View file

@ -0,0 +1,43 @@
include mmm_agent.conf
default_copy_method scp
clone_dirs data, logs
<host default>
ssh_user root
lvm_snapshot_size 1G
lvm_logical_volume mysql
lvm_volume_group storage
lvm_mount_dir /mmm_snapshot
lvm_mount_opts -orw,nouuid
tools_user mmm_tools
tools_password RepTools
backup_dir /mmm_backup
restore_dir /mysql
</host>
<copy_method scp>
backup_command scp -c blowfish -r %SSH_USER%@%IP%:%SNAPSHOT%/%CLONE_DIR% %DEST_DIR%/
restore_command cp -axv %BACKUP_DIR%/* %DEST_DIR%/
true_copy 1
</copy_method>
<copy_method rdiff>
backup_command rdiff-backup --ssh-no-compression -v 5 !--include %SNAPSHOT%/%CLONE_DIR%! --exclude %SNAPSHOT% %SSH_USER%@%IP%::%SNAPSHOT%/ %DEST_DIR%/
restore_command rdiff-backup --force -v 5 -r %VERSION% %BACKUP_DIR% %DEST_DIR%/.mmm_restore; cp -axvl --remove-destination %DEST_DIR%/.mmm_restore/* %DEST_DIR%/; rm -r %DEST_DIR%/.mmm_restore/
incremental_command rdiff-backup --parsable-output -l %BACKUP_DIR%
single_run 1
incremental 1
</copy_method>
<copy_method ssh-gz>
backup_command ssh -c blowfish %SSH_USER%@%IP% "cd '%SNAPSHOT%'; tar cv !'%CLONE_DIR%'!" | gzip > %DEST_DIR%/backup.tar.gz
restore_command cd %DEST_DIR%; tar xzfv %BACKUP_DIR%/backup.tar.gz
single_run 1
</copy_method>

View file

@ -0,0 +1,11 @@
--- mysql-mmm-2.1.0/Makefile.orig 2010-02-18 09:49:25.000000000 -0600
+++ mysql-mmm-2.1.0/Makefile 2010-02-22 18:10:53.000000000 -0600
@@ -4,7 +4,7 @@
endif
MODULEDIR = $(DESTDIR)$(shell eval "`perl -V:${INSTALLDIR}`"; echo "$$${INSTALLDIR}")/MMM
-BINDIR = $(DESTDIR)/usr/lib/mysql-mmm
+BINDIR = $(DESTDIR)/usr/libexec/mysql-mmm
SBINDIR = $(DESTDIR)/usr/sbin
LOGDIR = $(DESTDIR)/var/log/mysql-mmm
ETCDIR = $(DESTDIR)/etc

View file

@ -0,0 +1,50 @@
diff --git a/lib/Agent/Agent.pm b/lib/Agent/Agent.pm
index 2e2480b..c98f39a 100644
--- a/lib/Agent/Agent.pm
+++ b/lib/Agent/Agent.pm
@@ -37,6 +37,7 @@ struct 'MMM::Agent::Agent' => {
mysql_password => '$',
writer_role => '$',
bin_path => '$',
+ notify_cmd => '$',
active_master => '$',
state => '$',
@@ -50,6 +51,8 @@ sub main($) {
$self->roles([]);
$self->active_master('');
+ if ($self->notify_cmd) { system($self->notify_cmd); }
+
while (!$main::shutdown) {
DEBUG 'Listener: Waiting for connection...';
@@ -236,6 +239,8 @@ sub cmd_set_status($$) {
foreach my $role (@added_roles) { $role->add(); }
$self->roles(\@new_roles);
+
+ if ($self->notify_cmd) { system($self->notify_cmd); }
}
# Process state change
@@ -272,6 +277,7 @@ sub from_config($%) {
$self->mysql_password ($host->{agent_password});
$self->writer_role ($config->{active_master_role});
$self->bin_path ($host->{bin_path});
+ $self->notify_cmd ($host->{notify_cmd});
}
1;
diff --git a/lib/Common/Config.pm b/lib/Common/Config.pm
index 1870d5e..6c0af28 100644
--- a/lib/Common/Config.pm
+++ b/lib/Common/Config.pm
@@ -99,6 +99,7 @@ our $RULESET = {
'lvm_volume_group' => { 'required' => ['TOOLS'] },
'lvm_mount_dir' => { 'required' => ['TOOLS'] },
'lvm_mount_opts' => { 'required' => ['TOOLS'] },
+ 'notify_cmd' => { 'default' => '' },
}
},
'check' => { 'create_if_empty' => ['MONITOR'], 'multiple' => 1, 'template' => 'default', 'values' => ['ping', 'mysql', 'rep_backlog', 'rep_threads'], 'section' => {

88
mysql-mmm-agent.init Normal file
View file

@ -0,0 +1,88 @@
#!/bin/sh
#
# mysql-mmm-agent This shell script takes care of starting and stopping
# the mmm agent daemon.
#
# chkconfig: - 64 36
# description: MMM Agent.
# processname: mmm_agentd
# config: /etc/mysql-mmm/mmm_agent.conf
# pidfile: /var/run/mysql-mmm/mmm_agentd.pid
# Source function library and defaults file.
. /etc/rc.d/init.d/functions
. /etc/default/mysql-mmm-agent
# Paths
MMMD_AGENT_BIN="/usr/sbin/mmm_agentd"
MMMD_AGENT_PIDFILE="/var/run/mysql-mmm/mmm_agentd.pid"
LOCKFILE='/var/lock/subsys/mysql-mmm-agent'
prog='MMM Agent Daemon'
start() {
if [ "${ENABLED}" != "1" ]; then
echo "$prog is disabled!"
exit 1
fi
# ensure directories exist (/var/run and /var/lock
# are tmpfs since Fedora 15
run_dir=$(dirname $MMMD_AGENT_PIDFILE)
if [ ! -e "$run_dir" ]; then
mkdir -p $run_dir
fi
echo -n "Starting $prog: "
if [ -s $MMMD_AGENT_PIDFILE ] && kill -0 `cat $MMMD_AGENT_PIDFILE` 2> /dev/null; then
echo " already running."
exit 0
fi
daemon $MMMD_AGENT_BIN
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $LOCKFILE
return $RETVAL
}
stop() {
# Stop daemon.
echo -n "Stopping $prog: "
killproc -p $MMMD_AGENT_PIDFILE $MMMD_AGENT_BIN
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $LOCKFILE
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p $MMMD_AGENT_PIDFILE $MMMD_AGENT_BIN
RETVAL=$?
;;
restart|reload)
stop
start
;;
condrestart)
if [ -f $LOCKFILE ]; then
stop
start
fi
;;
*)
echo "Usage: $0 {start|stop|restart|condrestart|status}"
;;
esac
exit $RETVAL

12
mysql-mmm-agent.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=MySQL MMM agent
After=network.target mysqld.service
[Service]
Type=forking
PIDFile=/run/mysql-mmm-agent.pid
ExecStart=/usr/bin/mmm_agentd
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,26 @@
diff -rup mysql-mmm-2.2.1.orig/lib/Agent/Helpers/Network.pm mysql-mmm-2.2.1/lib/Agent/Helpers/Network.pm
--- mysql-mmm-2.2.1.orig/lib/Agent/Helpers/Network.pm 2010-05-07 07:55:50.000000000 +0000
+++ mysql-mmm-2.2.1/lib/Agent/Helpers/Network.pm 2014-12-02 17:02:38.234674563 +0000
@@ -133,7 +133,7 @@ sub send_arp($$) {
if ($OSNAME eq 'linux' || $OSNAME eq 'freebsd') {
my $mac = '';
- if ($Net::ARP::VERSION < 1.0) {
+ if ($Net::ARP::VERSION =~ /^0/) { # VERSION < 1.0 check that even works for 1.0.8, etc.
Net::ARP::get_mac($if, $mac);
}
else {
diff -rup mysql-mmm-2.2.1.orig/lib/Agent/Helpers.pm mysql-mmm-2.2.1/lib/Agent/Helpers.pm
--- mysql-mmm-2.2.1.orig/lib/Agent/Helpers.pm 2010-05-07 07:55:50.000000000 +0000
+++ mysql-mmm-2.2.1/lib/Agent/Helpers.pm 2014-12-02 00:52:26.454298472 +0000
@@ -168,8 +168,8 @@ sub _execute($$$) {
my $config_file = $main::agent->config_file;
$params = '' unless defined($params);
- DEBUG "Executing $path $params";
- my $res = `$path $config_file $params`;
+ DEBUG "Executing $path $config_file $params";
+ my $res = `$path $config_file $params 2>&1`;
unless ($return_all) {
my @lines = split /\n/, $res;

View file

@ -0,0 +1,87 @@
diff --git a/lib/Agent/Helpers.pm b/lib/Agent/Helpers.pm
index 24caae8..c0155e4 100644
--- a/lib/Agent/Helpers.pm
+++ b/lib/Agent/Helpers.pm
@@ -168,6 +168,10 @@ sub _execute($$$) {
my $config_file = $main::agent->config_file;
$params = '' unless defined($params);
+ if ($params !~ /^[\w\. \:\-]*$/) {
+ _exit_error("ERROR: Invalid Parameter");
+ }
+
DEBUG "Executing $path $config_file $params";
my $res = `$path $config_file $params 2>&1`;
diff --git a/lib/Agent/Helpers/Network.pm b/lib/Agent/Helpers/Network.pm
index 8ef4468..b0d5a8b 100644
--- a/lib/Agent/Helpers/Network.pm
+++ b/lib/Agent/Helpers/Network.pm
@@ -33,6 +33,10 @@ sub check_ip($$) {
my $if = shift;
my $ip = shift;
+ if ($ip !~ /^[\d\.]*$/) {
+ _exit_error("ERROR: Invalid IP Address");
+ }
+
my $output;
if ($OSNAME eq 'linux') {
$output = `/sbin/ip addr show dev $if`;
@@ -65,6 +69,10 @@ sub add_ip($$) {
my $if = shift;
my $ip = shift;
+ if ($ip !~ /^[\d\.]*$/) {
+ _exit_error("ERROR: Invalid IP Address");
+ }
+
my $output;
if ($OSNAME eq 'linux') {
$output = `/sbin/ip addr add $ip/32 dev $if`;
@@ -101,6 +109,10 @@ sub clear_ip($$) {
my $if = shift;
my $ip = shift;
+ if ($ip !~ /^[\d\.]*$/) {
+ _exit_error("ERROR: Invalid IP Address");
+ }
+
my $output;
if ($OSNAME eq 'linux') {
$output = `/sbin/ip addr del $ip/32 dev $if`;
@@ -130,6 +142,9 @@ sub send_arp($$) {
my $if = shift;
my $ip = shift;
+ if ($ip !~ /^[\d\.]*$/) {
+ _exit_error("ERROR: Invalid IP Address");
+ }
if ($OSNAME eq 'linux' || $OSNAME eq 'freebsd') {
my $mac = '';
diff --git a/lib/Common/Role.pm b/lib/Common/Role.pm
index 7cd4dc9..211ab5f 100644
--- a/lib/Common/Role.pm
+++ b/lib/Common/Role.pm
@@ -59,7 +59,7 @@ sub from_string($$) {
my $class = shift;
my $string = shift;
- if (my ($name, $ip) = $string =~ /(.*)\((.*)\)/) {
+ if (my ($name, $ip) = $string =~ /^([\w_\.\-]+)\(([\d\.]+)\)$/) {
return $class->new(name => $name, ip => $ip);
}
return undef;
diff --git a/lib/Common/Socket.pm b/lib/Common/Socket.pm
index 6adecd1..38e1f7b 100644
--- a/lib/Common/Socket.pm
+++ b/lib/Common/Socket.pm
@@ -80,6 +80,7 @@ sub create_sender($$$) {
SSL_cert_file => $main::config->{'socket'}->{cert_file},
SSL_key_file => $main::config->{'socket'}->{key_file},
SSL_ca_file => $main::config->{'socket'}->{ca_file},
+ SSL_verify_mode => 0x03 # SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT
);
}

94
mysql-mmm-monitor.init Normal file
View file

@ -0,0 +1,94 @@
#!/bin/sh
#
# mysql-mmm-monitor This shell script takes care of starting and stopping
# the mmm monitoring daemon.
#
# chkconfig: - 64 36
# description: MMM Monitor.
# processname: mmm_mond
# config: /etc/mysql-mmm/mmm_mon.conf
# pidfile: /var/run/mysql-mmm/mmm_mond.pid
# Source function library and defaults file.
. /etc/rc.d/init.d/functions
. /etc/default/mysql-mmm-monitor
# Cluster name (it can be empty for default cases)
CLUSTER=''
LOCKFILE='/var/lock/subsys/mysql-mmm-monitor'
prog='MMM Monitor Daemon'
if [ "$CLUSTER" != "" ]; then
MMMD_MON_BIN="/usr/sbin/mmm_mond @$CLUSTER"
MMMD_MON_PIDFILE="/var/run/mysql-mmm/mmm_mond-$CLUSTER.pid"
else
MMMD_MON_BIN="/usr/sbin/mmm_mond"
MMMD_MON_PIDFILE="/var/run/mysql-mmm/mmm_mond.pid"
fi
start() {
if [ "${ENABLED}" != "1" ]; then
echo "$prog is disabled!"
exit 1
fi
# ensure directories exist (/var/run and /var/lock
# are tmpfs since Fedora 15
run_dir=$(dirname $MMMD_MON_PIDFILE)
if [ ! -e "$run_dir" ]; then
mkdir -p $run_dir
fi
echo -n "Starting $prog: "
if [ -s $MMMD_MON_PIDFILE ] && kill -0 `cat $MMMD_MON_PIDFILE` 2> /dev/null; then
echo " already running."
exit 0
fi
daemon $MMMD_MON_BIN
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch $LOCKFILE
return $RETVAL
}
stop() {
# Stop daemon.
echo -n "Stopping $prog: "
killproc -p $MMMD_MON_PIDFILE $MMMD_MON_BIN
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f $LOCKFILE
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p $MMMD_MON_PIDFILE $MMMD_MON_BIN
RETVAL=$?
;;
restart|reload)
stop
start
;;
condrestart)
if [ -f $LOCKFILE ]; then
stop
start
fi
;;
*)
echo "Usage: $0 {start|stop|restart|condrestart|status}"
;;
esac
exit $RETVAL

12
mysql-mmm-monitor.service Normal file
View file

@ -0,0 +1,12 @@
[Unit]
Description=MySQL MMM Monitor
After=network.target mysqld.service
[Service]
Type=forking
PIDFile=/run/mysql-mmm-monitor.pid
ExecStart=/usr/bin/mmm_mond
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,564 @@
diff --git a/bin/agent/check_ip b/bin/agent/check_ip
index 8a91cf3..cbcdc32 100755
--- a/bin/agent/check_ip
+++ b/bin/agent/check_ip
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Agent::Helpers::Actions;
# Check arguments
diff --git a/bin/agent/clear_ip b/bin/agent/clear_ip
index e5cb697..c31d200 100755
--- a/bin/agent/clear_ip
+++ b/bin/agent/clear_ip
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Agent::Helpers::Actions;
# Check arguments
diff --git a/bin/agent/configure_ip b/bin/agent/configure_ip
index f8d2aab..9017020 100755
--- a/bin/agent/configure_ip
+++ b/bin/agent/configure_ip
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Agent::Helpers::Actions;
# Check arguments
diff --git a/bin/agent/mysql_allow_write b/bin/agent/mysql_allow_write
index 9383b69..d33bb7b 100755
--- a/bin/agent/mysql_allow_write
+++ b/bin/agent/mysql_allow_write
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/agent/mysql_deny_write b/bin/agent/mysql_deny_write
index d9692d2..ad73cf0 100755
--- a/bin/agent/mysql_deny_write
+++ b/bin/agent/mysql_deny_write
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/agent/mysql_may_write b/bin/agent/mysql_may_write
index 417742b..e3f9043 100755
--- a/bin/agent/mysql_may_write
+++ b/bin/agent/mysql_may_write
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/agent/set_active_master b/bin/agent/set_active_master
index 9cd306e..df985d1 100755
--- a/bin/agent/set_active_master
+++ b/bin/agent/set_active_master
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/agent/sync_with_master b/bin/agent/sync_with_master
index cc52712..06ebb5f 100755
--- a/bin/agent/sync_with_master
+++ b/bin/agent/sync_with_master
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/agent/turn_off_slave b/bin/agent/turn_off_slave
index 0a468d3..b7b4214 100755
--- a/bin/agent/turn_off_slave
+++ b/bin/agent/turn_off_slave
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/agent/turn_on_slave b/bin/agent/turn_on_slave
index d6ac262..3b2fb47 100755
--- a/bin/agent/turn_on_slave
+++ b/bin/agent/turn_on_slave
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Agent::Helpers::Actions;
diff --git a/bin/monitor/checker b/bin/monitor/checker
index 345abf6..e7e30d7 100755
--- a/bin/monitor/checker
+++ b/bin/monitor/checker
@@ -3,6 +3,7 @@
# Use mandatory external modules
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( OUTPUT_AUTOFLUSH );
use Log::Log4perl qw(:easy);
diff --git a/bin/tools/create_snapshot b/bin/tools/create_snapshot
index 7538789..fe19ebd 100755
--- a/bin/tools/create_snapshot
+++ b/bin/tools/create_snapshot
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use DBI;
use MMM::Common::Config;
use MMM::Tools::Snapshot::LVM;
diff --git a/bin/tools/remove_snapshot b/bin/tools/remove_snapshot
index 59f8d91..db24c3e 100755
--- a/bin/tools/remove_snapshot
+++ b/bin/tools/remove_snapshot
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Config;
use MMM::Tools::Snapshot::LVM;
diff --git a/lib/Agent/Agent.pm b/lib/Agent/Agent.pm
index c98f39a..31fa22c 100644
--- a/lib/Agent/Agent.pm
+++ b/lib/Agent/Agent.pm
@@ -2,6 +2,7 @@ package MMM::Agent::Agent;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw(EVAL_ERROR);
use Algorithm::Diff;
use DBI;
diff --git a/lib/Agent/Helpers.pm b/lib/Agent/Helpers.pm
index c0155e4..33f3b91 100644
--- a/lib/Agent/Helpers.pm
+++ b/lib/Agent/Helpers.pm
@@ -2,6 +2,7 @@ package MMM::Agent::Helpers;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
our $VERSION = '0.01';
diff --git a/lib/Agent/Helpers/Actions.pm b/lib/Agent/Helpers/Actions.pm
index c39b674..33e2102 100644
--- a/lib/Agent/Helpers/Actions.pm
+++ b/lib/Agent/Helpers/Actions.pm
@@ -2,6 +2,7 @@ package MMM::Agent::Helpers::Actions;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Agent::Helpers::Network;
our $VERSION = '0.01';
diff --git a/lib/Agent/Helpers/Network.pm b/lib/Agent/Helpers/Network.pm
index b0d5a8b..38619bf 100644
--- a/lib/Agent/Helpers/Network.pm
+++ b/lib/Agent/Helpers/Network.pm
@@ -2,6 +2,7 @@ package MMM::Agent::Helpers::Network;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( OSNAME );
our $VERSION = '0.01';
diff --git a/lib/Agent/Role.pm b/lib/Agent/Role.pm
index b9723c2..a4e69cd 100644
--- a/lib/Agent/Role.pm
+++ b/lib/Agent/Role.pm
@@ -3,6 +3,7 @@ use base 'MMM::Common::Role';
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use MMM::Agent::Helpers;
diff --git a/lib/Common/Angel.pm b/lib/Common/Angel.pm
index 7ad7e88..ac49309 100644
--- a/lib/Common/Angel.pm
+++ b/lib/Common/Angel.pm
@@ -2,6 +2,7 @@ package MMM::Common::Angel;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( CHILD_ERROR ERRNO );
use Log::Log4perl qw(:easy);
use Errno qw( EINTR );
diff --git a/lib/Common/Config.pm b/lib/Common/Config.pm
index 6c0af28..948a728 100644
--- a/lib/Common/Config.pm
+++ b/lib/Common/Config.pm
@@ -2,6 +2,7 @@ package MMM::Common::Config;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( NR );
use Log::Log4perl qw(:easy);
diff --git a/lib/Common/Log.pm b/lib/Common/Log.pm
index ae3910b..3b527e5 100644
--- a/lib/Common/Log.pm
+++ b/lib/Common/Log.pm
@@ -2,6 +2,7 @@ package MMM::Common::Log;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use English qw( PROGRAM_NAME );
diff --git a/lib/Common/PidFile.pm b/lib/Common/PidFile.pm
index 2de55eb..70b39b6 100644
--- a/lib/Common/PidFile.pm
+++ b/lib/Common/PidFile.pm
@@ -2,6 +2,7 @@ package MMM::Common::PidFile;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( PROCESS_ID );
use Log::Log4perl qw(:easy);
diff --git a/lib/Common/Role.pm b/lib/Common/Role.pm
index 211ab5f..4f48172 100644
--- a/lib/Common/Role.pm
+++ b/lib/Common/Role.pm
@@ -2,6 +2,7 @@ package MMM::Common::Role;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
our $VERSION = '0.01';
diff --git a/lib/Common/Socket.pm b/lib/Common/Socket.pm
index 38e1f7b..a072ca9 100644
--- a/lib/Common/Socket.pm
+++ b/lib/Common/Socket.pm
@@ -2,6 +2,7 @@ package MMM::Common::Socket;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use IO::Socket::INET;
diff --git a/lib/Common/Uptime.pm b/lib/Common/Uptime.pm
index 4b7c71c..c8e0c55 100644
--- a/lib/Common/Uptime.pm
+++ b/lib/Common/Uptime.pm
@@ -2,6 +2,7 @@ package MMM::Common::Uptime;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( OSNAME );
use Log::Log4perl qw(:easy);
diff --git a/lib/Monitor/Agent.pm b/lib/Monitor/Agent.pm
index a72c98c..f12a93a 100644
--- a/lib/Monitor/Agent.pm
+++ b/lib/Monitor/Agent.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::Agent;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use MMM::Common::Socket;
use MMM::Monitor::ChecksStatus;
diff --git a/lib/Monitor/Agents.pm b/lib/Monitor/Agents.pm
index d1ba80a..12f3f99 100644
--- a/lib/Monitor/Agents.pm
+++ b/lib/Monitor/Agents.pm
@@ -3,6 +3,7 @@ use base 'Class::Singleton';
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use IO::Handle;
use File::Temp;
diff --git a/lib/Monitor/CheckResult.pm b/lib/Monitor/CheckResult.pm
index cde4184..ec42a02 100644
--- a/lib/Monitor/CheckResult.pm
+++ b/lib/Monitor/CheckResult.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::CheckResult;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use threads;
use threads::shared;
diff --git a/lib/Monitor/Checker.pm b/lib/Monitor/Checker.pm
index a4f2ea7..1a5fe52 100644
--- a/lib/Monitor/Checker.pm
+++ b/lib/Monitor/Checker.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::Checker;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use IPC::Open2;
use MMM::Monitor::CheckResult;
diff --git a/lib/Monitor/Checker/Checks.pm b/lib/Monitor/Checker/Checks.pm
index 6e200b6..2eeeae3 100644
--- a/lib/Monitor/Checker/Checks.pm
+++ b/lib/Monitor/Checker/Checks.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::Checker::Checks;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw(OSNAME EFFECTIVE_USER_ID);
use DBI;
use Net::Ping;
diff --git a/lib/Monitor/ChecksStatus.pm b/lib/Monitor/ChecksStatus.pm
index a68e159..6b1a9ca 100644
--- a/lib/Monitor/ChecksStatus.pm
+++ b/lib/Monitor/ChecksStatus.pm
@@ -3,6 +3,7 @@ use base 'Class::Singleton';
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use MMM::Monitor::Checker
diff --git a/lib/Monitor/Commands.pm b/lib/Monitor/Commands.pm
index 9503c8d..972fdac 100644
--- a/lib/Monitor/Commands.pm
+++ b/lib/Monitor/Commands.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::Commands;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use List::Util qw(max);
use threads;
diff --git a/lib/Monitor/Monitor.pm b/lib/Monitor/Monitor.pm
index 7cf7dbf..f96503b 100644
--- a/lib/Monitor/Monitor.pm
+++ b/lib/Monitor/Monitor.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::Monitor;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use threads;
use threads::shared;
use Algorithm::Diff;
diff --git a/lib/Monitor/NetworkChecker.pm b/lib/Monitor/NetworkChecker.pm
index 8529d11..1a6d2e2 100644
--- a/lib/Monitor/NetworkChecker.pm
+++ b/lib/Monitor/NetworkChecker.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::NetworkChecker;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use MMM::Monitor::Checker;
diff --git a/lib/Monitor/Role.pm b/lib/Monitor/Role.pm
index ec1ce46..725cce3 100644
--- a/lib/Monitor/Role.pm
+++ b/lib/Monitor/Role.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::Role;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use MMM::Common::Role;
our $VERSION = '0.01';
diff --git a/lib/Monitor/Roles.pm b/lib/Monitor/Roles.pm
index c5fcda8..68b3d44 100644
--- a/lib/Monitor/Roles.pm
+++ b/lib/Monitor/Roles.pm
@@ -3,6 +3,7 @@ use base 'Class::Singleton';
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
use MMM::Monitor::Agents;
use MMM::Monitor::Role;
diff --git a/lib/Monitor/StartupStatus.pm b/lib/Monitor/StartupStatus.pm
index b4ab43e..0051a03 100644
--- a/lib/Monitor/StartupStatus.pm
+++ b/lib/Monitor/StartupStatus.pm
@@ -2,6 +2,7 @@ package MMM::Monitor::StartupStatus;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use List::Util qw(max);
use Log::Log4perl qw(:easy);
use MMM::Common::Role;
diff --git a/lib/Tools/MySQL.pm b/lib/Tools/MySQL.pm
index 505c162..4c2e81a 100644
--- a/lib/Tools/MySQL.pm
+++ b/lib/Tools/MySQL.pm
@@ -2,6 +2,7 @@ package MMM::Tools::MySQL;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use DBI;
use Log::Log4perl qw(:easy);
diff --git a/lib/Tools/Snapshot/LVM.pm b/lib/Tools/Snapshot/LVM.pm
index 8cad596..e9408e2 100644
--- a/lib/Tools/Snapshot/LVM.pm
+++ b/lib/Tools/Snapshot/LVM.pm
@@ -2,6 +2,7 @@ package MMM::Tools::Snapshot::LVM;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Log::Log4perl qw(:easy);
diff --git a/lib/Tools/Snapshot/MySQL.pm b/lib/Tools/Snapshot/MySQL.pm
index 85300c0..510b916 100644
--- a/lib/Tools/Snapshot/MySQL.pm
+++ b/lib/Tools/Snapshot/MySQL.pm
@@ -2,6 +2,7 @@ package MMM::Tools::Snapshot::MySQL;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use Data::Dumper;
use DBI;
use Log::Log4perl qw(:easy);
diff --git a/lib/Tools/Tools.pm b/lib/Tools/Tools.pm
index 5820cb9..b7f350c 100644
--- a/lib/Tools/Tools.pm
+++ b/lib/Tools/Tools.pm
@@ -2,6 +2,7 @@ package MMM::Tools::Tools;
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw(FORMAT_NAME);
use Path::Class qw(dir);
use Log::Log4perl qw(:easy);
diff --git a/sbin/mmm_agentd b/sbin/mmm_agentd
index 343f5c1..af6a6b9 100755
--- a/sbin/mmm_agentd
+++ b/sbin/mmm_agentd
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( PROGRAM_NAME );
use File::Basename;
use Proc::Daemon;
diff --git a/sbin/mmm_backup b/sbin/mmm_backup
index fc7ae50..a105648 100755
--- a/sbin/mmm_backup
+++ b/sbin/mmm_backup
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( PROGRAM_NAME );
use File::Basename;
use Log::Log4perl qw(:easy);
diff --git a/sbin/mmm_clone b/sbin/mmm_clone
index 5217314..73c1ea8 100755
--- a/sbin/mmm_clone
+++ b/sbin/mmm_clone
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( PROGRAM_NAME );
use File::Basename;
use Log::Log4perl qw(:easy);
diff --git a/sbin/mmm_control b/sbin/mmm_control
index 597b9a1..95a2264 100755
--- a/sbin/mmm_control
+++ b/sbin/mmm_control
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( PROGRAM_NAME );
use File::Basename;
use Log::Log4perl qw(:easy);
diff --git a/sbin/mmm_mond b/sbin/mmm_mond
index 6f9643b..9ed50c2 100755
--- a/sbin/mmm_mond
+++ b/sbin/mmm_mond
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use threads;
use threads::shared;
use Config;
diff --git a/sbin/mmm_restore b/sbin/mmm_restore
index 6dc9248..d80adaf 100755
--- a/sbin/mmm_restore
+++ b/sbin/mmm_restore
@@ -2,6 +2,7 @@
use strict;
use warnings FATAL => 'all';
+no warnings 'uninitialized';
use English qw( PROGRAM_NAME FORMAT_NAME );
use File::Basename;
use Log::Log4perl qw(:easy);

9
mysql-mmm.logrotate Normal file
View file

@ -0,0 +1,9 @@
/var/log/mysql-mmm/*.log {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 root adm
}

435
mysql-mmm.spec Normal file
View file

@ -0,0 +1,435 @@
%{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}}
Name: mysql-mmm
Version: 2.2.1
Release: 40%{?dist}
Summary: Multi-Master Replication Manager for MySQL
# Automatically converted from old format: GPLv2 - review is highly recommended.
License: GPL-2.0-only
URL: http://mysql-mmm.org
Source: http://mysql-mmm.org/_media/:mmm2:/%{name}-%{version}.tar.gz
Source1: mysql-mmm.logrotate
Source2: http://mysql-mmm.org/_media/:mmm2:/%{name}-%{version}.pdf
Source3: mmm_mon_log.conf
Source4: mmm_agent.conf
Source5: mmm_mon.conf
Source6: mmm_tools.conf
Source7: mmm_common.conf
Source8: mysql-mmm-agent.service
Source9: mysql-mmm-monitor.service
BuildArch: noarch
BuildRequires: make
BuildRequires: perl-generators
BuildRequires: systemd
Provides: mmm = %{version}-%{release}
Provides: mysql-master-master = %{version}-%{release}
Patch0: mysql-mmm-2.1.0-paths.patch
Patch1: mysql-mmm-fix-bug-with-newer-net-arp.patch
Patch2: mysql-mmm-fix-cve-remote-command-injection.patch
Patch3: mysql-mmm-add-notify-cmd.patch
Patch4: mysql-mmm-suppress-uninitialized-warning.patch
%description
MMM (MySQL Master-Master Replication Manager) is a set of flexible scripts
to perform monitoring/failover and management of MySQL Master-Master
replication configurations (with only one node writable at any time). The
toolset also has the ability to read balance standard master/slave
configurations with any number of slaves, so you can use it to move virtual
IP addresses around a group of servers depending on whether they are behind
in replication. In addition to that, it also has scripts for data backups,
resynchronization between nodes etc.
%package agent
Summary: MMM Database Server Agent Daemon and Libraries
Requires: %{name} = %{version}-%{release}
Requires: iproute
Requires: perl-DBD-mysql
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Provides: mysql-master-master-agent = %{version}-%{release}
Provides: mmm-agent = %{version}-%{release}
%description agent
Agent daemon and libraries which run on each MySQL server and provides the
monitoring node with a simple set of remote services.
%package monitor
Summary: MMM Monitor Server Daemon and Libraries
Requires: %{name} = %{version}-%{release}
Requires: perl(Class::Singleton), perl(DBD::mysql), perl(Time::HiRes)
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
Provides: mysql-master-master-monitor = %{version}-%{release}
Provides: mmm-monitor = %{version}-%{release}
%description monitor
Monitoring daemon and libraries that do all monitoring work and make all
decisions about roles moving and so on.
%package tools
Summary: MMM Control Scripts and Libraries
Requires: %{name} = %{version}-%{release}
Provides: mysql-master-master-tools = %{version}-%{release}
Provides: mmm-tools = %{version}-%{release}
%description tools
Scripts and libraries dedicated to management of the mmm_mond processes
by commands.
%prep
%setup -q
cp -a %{SOURCE2} .
# currently the README included with mysql-mmm is zero-length
cat >>README <<EOF
Full documentation can be found at:
%{_pkgdocdir}/%{name}-%{version}.pdf
EOF
%patch -P 0 -p1
%patch -P 1 -p1
%patch -P 2 -p1
%patch -P 3 -p1
%patch -P 4 -p1
find . -type f -name "*.orig" -print0 | xargs -0r rm
%build
%install
make install DESTDIR=%{buildroot}
mkdir -p %{buildroot}%{_bindir}
mv %{buildroot}/usr/sbin/mmm_* %{buildroot}%{_bindir}
%{__install} -D -p -m 0644 %SOURCE1 %{buildroot}%{_sysconfdir}/logrotate.d/mysql-mmm
%{__install} -d -m 0755 %{buildroot}%{_localstatedir}/lib/%{name}
# Replace config files
%{__rm} -f %{buildroot}%{_sysconfdir}/mysql-mmm/*.conf
%{__install} -p -m 0640 %SOURCE3 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_mon_log.conf
%{__install} -p -m 0640 %SOURCE4 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_agent.conf
%{__install} -p -m 0640 %SOURCE5 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_mon.conf
%{__install} -p -m 0640 %SOURCE6 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_tools.conf
%{__install} -p -m 0640 %SOURCE7 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_common.conf
%{__install} -D -p -m 0644 %SOURCE8 %{buildroot}%{_unitdir}/mysql-mmm-agent.service
%{__install} -D -p -m 0644 %SOURCE9 %{buildroot}%{_unitdir}/mysql-mmm-monitor.service
%{__rm} -rvf %{buildroot}%{_sysconfdir}/init.d/
%post agent
%systemd_post mysql-mmm-agent.service
%preun agent
%systemd_preun mysql-mmm-agent.service
%postun agent
%systemd_postun mysql-mmm-agent.service
%post monitor
%systemd_post mysql-mmm-monitor.service
%preun monitor
%systemd_preun mysql-mmm-monitor.service
%postun monitor
%systemd_postun mysql-mmm-monitor.service
%files
%doc COPYING README VERSION %{name}-%{version}.pdf
%dir %{_sysconfdir}/mysql-mmm
%attr(755,root,root) %dir %{_localstatedir}/lib/mysql-mmm
%attr(755,root,root) %dir %{_localstatedir}/log/mysql-mmm
%config(noreplace) %{_sysconfdir}/logrotate.d/mysql-mmm
%config(noreplace) %attr(640,root,root) %{_sysconfdir}/mysql-mmm/mmm_common.conf
%{perl_vendorlib}/MMM/Common
%files tools
%doc README
%config(noreplace) %attr(644,root,root) %{_sysconfdir}/mysql-mmm/mmm_tools.conf
%{perl_vendorlib}/MMM/Tools
%{_libexecdir}/mysql-mmm/tools/
%{_bindir}/mmm_backup
%{_bindir}/mmm_clone
%{_bindir}/mmm_restore
%files agent
%doc README
%config(noreplace) %attr(640,root,root) %{_sysconfdir}/mysql-mmm/mmm_agent.conf
%{perl_vendorlib}/MMM/Agent
%{_libexecdir}/mysql-mmm/agent/
%{_bindir}/mmm_agentd
%{_unitdir}/mysql-mmm-agent.service
%files monitor
%doc README
%config(noreplace) %attr(640,root,root) %{_sysconfdir}/mysql-mmm/mmm_mon.conf
%config(noreplace) %attr(640,root,root) %{_sysconfdir}/mysql-mmm/mmm_mon_log.conf
%{perl_vendorlib}/MMM/Monitor
%{_libexecdir}/mysql-mmm/monitor/
%{_bindir}/mmm_mond
%{_bindir}/mmm_control
%{_unitdir}/mysql-mmm-monitor.service
%changelog
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Sat Apr 05 2025 avid Beveridge <dave@bevhost.com> 2.2.1-39
- add feature notify_cmd
- suppress fatal escalation of uninitialized variables warning
- modify systemd unit files to refer to /usr/bin instead of /usr/sbin
* Wed Mar 26 2025 David Beveridge <dave@bevhost.com> 2.2.1-38
- Unify bin and sbin
* Sun Feb 02 2025 David Beveridge <dave@bevhost.com> 2.2.1-37
- fix patchN deprecated
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jul 29 2024 Miroslav Suchý <msuchy@redhat.com> - 2.2.1-35
- convert license to SPDX
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-30
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed May 02 2018 David Beveridge <dave@bevhost.com> 2.2.1-20
- Patch for mmm_agentd Remote Command Injection Vulnerabilities
- TALOS-2017-0501, CVE-2017-14474 - CVE-2017-14481
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Dec 20 2017 Ruben Kerkhof <ruben@rubenkerkhof.com> - 2.2.1-18
- Correct permissions for systemd units (#1527992)
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Dec 10 2015 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.2.1-14
- Fix bug with newer Net::ARP version numbers (#1169914)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun Sep 15 2013 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.2.1-11
- Convert to systemd (#913501)
* Sun Sep 15 2013 Ruben Kerkhof <ruben@rubenkerkhof.com> 2.2.1-10
- Monitor needs perl-Time-HiRes (#915665)
* Sat Aug 03 2013 Petr Pisar <ppisar@redhat.com> - 2.2.1-9
- Perl 5.18 rebuild
* Fri Jul 26 2013 Ville Skyttä <ville.skytta@iki.fi> - 2.2.1-8
- Honor %%{_pkgdocdir} where available.
- Don't ship patch backup files.
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.2.1-7
- Perl 5.18 rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Nov 23 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.2.1-2
- Updated agent/monitor init scripts to create /var/run/mysql-mmm
if it does not exist. Resolves BZ#656634
- List /var/run, /var/lock/subsys files as %%ghost entries
* Tue May 11 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.2.1-1
- Latest upstream release, fixes possible errors related to
replication. Full ChangeLog available at:
http://mysql-mmm.org/mmm2:changelog
* Wed Mar 10 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.2.0-1
- Latest upstream release. Resolves LaunchPad Issues 416572, 422549,
531011, 531841, 525719. Full ChangeLog available at:
http://mysql-mmm.org/mmm2:changelog
* Mon Mar 08 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.1.1-1
- Latest upstream release, resolves DBI timeout issue. Full changelog
available at: http://mysql-mmm.org/mmm2:changelog
- Removing Patch4: mysql-mmm-2.0.10-default_logging.patch (applied upstream)
* Fri Feb 26 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.1.0-4
- Agent Requires: perl-DBD-mysql. Resolves BZ #568870
* Thu Feb 25 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.1.0-3
- Fixed init scripts to check for ENABLED only within the start
function.
* Tue Feb 23 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.1.0-2
- Added defaults file for mysql-mmm-agent and mysql-mmm-monitor
Resolves BZ #567753
- Init scripts exit if ENABLED != 1
- Fixed typo in mysql-mmm-monitor where mmmd_mon was still referenced
* Mon Feb 22 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.1.0-1.1
- Latest sources from upstream
- Updated init scripts to reflect new binary paths
(i.e. mmmd_agent -> mmm_agentd)
- Updated Patch0: mysql-mmm-2.1.0-paths.patch
- Removed Patch1: mysql-mmm-2.0.9-configs.patch (added source
config files)
* Wed Feb 17 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.0.11-2
- Rebuild for F13/devel retag
* Mon Feb 08 2010 BJ Dierkes <wdierkes@rackspace.com> - 2.0.11-1
- Latest sources from upstream
- Removed Patch3: mysql-mmm-2.0.10-lp473446.patch (appied upstream)
- Added default mmm_mon_log.conf to allow logger modification
* Fri Dec 04 2009 BJ Dierkes <wdierkes@rackspace.com> - 2.0.10-4
- Add auto_set_online to 60 in mmm_mon.conf
- Provides full version-release for all subpackages
- Append doc location to pdf documentation in README
- Use subsys/lockfile in init scripts
* Thu Nov 19 2009 BJ Dierkes <wdierkes@rackspace.com> - 2.0.10-3
- BuildArch: noarch
- Monitor subpackage Requires: perl(DBD::mysql)
- Provides full version-release for mmm, mysql-master-master
- Removed redundant /var/run/mysql-mmm entry
- Use _localstatedir macro for /var/log/mysql-mmm file listing
- Fixed logic in post and postun scripts to properly handle
install/upgrade conditions.
- Post scripts now perform condrestart
- Added Source3: mysql-mmm-agent.init
- Added Source4: mysql-mmm-monitor.init
* Tue Nov 17 2009 BJ Dierkes <wdierkes@rackspace.com> - 2.0.10-2
- Removed Patch2: mysql-mmm-2.0.10-sleep.patch (obsoleted by Patch3)
- Added Patch3: mysql-mmm-2.0.10-lp473446.patch
- Added Patch4: mysql-mmm-2.0.10-default_logging.patch
* Tue Nov 03 2009 BJ Dierkes <wdierkes@rackspace.com> - 2.0.10-1
- Latest sources from upstream.
- Added Patch1: mysql-mmm-2.0.9-configs.patch
- Added Patch2: mysql-mmm-2.0.10-sleep.patch
- Moved mmm_control under monitor package
* Mon Oct 19 2009 BJ Dierkes <wdierkes@rackspace.com> - 2.0.9-1
- Starting mostly from scratch with 2.0 branch
- Added Patch0: mysql-mmm-2.0.9-patchs.patch
* Tue Oct 13 2009 BJ Dierkes <wdierkes@rackspace.com> - 1.2.6-4
- Cleaning up rpmlint errors
- No longer require perl-DBD-MySQL
* Tue Sep 29 2009 BJ Dierkes <wdierkes@rackspace.com> - 1.2.6-3.3
- Removing .rs tag (Packaging for Fedora/Epel).
* Mon Sep 28 2009 BJ Dierkes <wdierkes@rackspace.com> - 1.2.6-3.2.rs
- Change subpackage -control to -tools
- No longer build or include send_arp, removing requirement of
libnet
- Keep etc config files actually in /etc, symlink at _mmm_instdir/etc
* Wed Sep 23 2009 BJ Dierkes <wdierkes@rackspace.com> - 1.2.6-3.rs
- Cleaned up spec a bit further, moved sed changes to patches
- Added Patch1: mysql-master-master-1.2.6-libnet_1.1.patch
- Added Patch2: mysql-master-master-1.2.6-paths.patch
- Explicitly require libnet >= 1.1
- Added subpackages to break up agent, monitor, and control (backup/restore)
* Mon Sep 21 2009 Andrew Garner <andrew.garner@rackspace.com> - 1.2.6-2.abg
- Added patch for http://code.google.com/p/mysql-master-master/issues/detail?id=35
* Wed Sep 02 2009 Andrew Garner <andrew.garner@rackspace.com> - 1.2.6-1.abg
- New upstream release
* Thu Jul 09 2009 Andrew Garner <andrew.garner@rackspace.com>
- Fix release string to drop out incorrect ~rs identifier
- Updated to release 5.abg
* Thu Apr 16 2009 Andrew Garner <andrew.garner@rackspace.com>
- Change /etc/init.d/mysql-mmm_{mon,agent} back to mmm_{mon,agent}
- symlink /etc/mysql-mmm to /usr/lib/mysql-mmm (not the other way around)
* Tue Apr 14 2009 Andrew Garner <andrew.garner@rackspace.com>
- Cleanup spec
- Use standard state/log paths
- Rebuild fping
- Added dist suffix
- Changed Release to 4.rs-abg
* Mon Apr 13 2009 Andrew Garner <andrew.garner@rackspace.com>
- Fix send_arp for RHEL 5.3's libnet
- Changed /usr/local/mmm to /usr/lib/mysql-mmm/
- Changed /etc/init.d/mmm_{mon,agent} to mysql-mmm_{mon,agent}
- Changed Release to 3.rs-abg
* Thu Apr 09 2009 Andrew Garner <andrew.garner@rackspace.com>
- Updating for Rackspace
* Wed Feb 25 2009 Ryan Lowe <ryan.a.lowe@percona.com>
- Initial build (I owe JayKim)

View file

@ -0,0 +1,2 @@
180dbb5662fd66291d01913e0fe34842 mysql-mmm-2.2.1.pdf
f5f8b48bdf89251d3183328f0249461e mysql-mmm-2.2.1.tar.gz