Name: mysql-mmm Version: 2.2.1 Release: 3%{?dist} Summary: Multi-Master Replication Manager for MySQL License: GPLv2 URL: http://mysql-mmm.org Group: Applications/System 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: mysql-mmm-agent.init Source4: mysql-mmm-monitor.init Source5: mmm_mon_log.conf Source6: mmm_agent.conf Source7: mmm_mon.conf Source8: mmm_tools.conf Source9: mmm_common.conf BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildArch: noarch Provides: mmm = %{version}-%{release} Provides: mysql-master-master = %{version}-%{release} Patch0: mysql-mmm-2.1.0-paths.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 Group: Applications/System Requires: %{name} = %{version}-%{release} Requires: iproute Requires: perl-DBD-mysql 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 Group: Applications/System Requires: %{name} = %{version}-%{release} Requires: perl(Class::Singleton), perl(DBD::mysql) 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 Group: Applications/System 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 mmmd_mon processes by com- mands. %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: %{_docdir}/%{name}-%{version}/%{name}-%{version}.pdf EOF %patch0 -p1 %build # pass %install rm -rf %{buildroot} # Install make install DESTDIR=%{buildroot} # additional %{__mkdir_p} %{buildroot}%{_sysconfdir}/logrotate.d \ %{buildroot}%{_localstatedir}/run/%{name} \ %{buildroot}%{_localstatedir}/lib/%{name} \ %{buildroot}%{_localstatedir}/lock/subsys install -m 0644 %SOURCE1 %{buildroot}%{_sysconfdir}/logrotate.d/mysql-mmm # Replace config files %{__rm} -f %{buildroot}%{_sysconfdir}/mysql-mmm/*.conf install -m 0640 %SOURCE5 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_mon_log.conf install -m 0640 %SOURCE6 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_agent.conf install -m 0640 %SOURCE7 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_mon.conf install -m 0640 %SOURCE8 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_tools.conf install -m 0640 %SOURCE9 %{buildroot}%{_sysconfdir}/mysql-mmm/mmm_common.conf # Replace our init scripts %{__rm} -f %{buildroot}%{_sysconfdir}/init.d/mysql-mmm-agent %{__rm} -f %{buildroot}%{_sysconfdir}/init.d/mysql-mmm-monitor install -m 0755 %SOURCE3 %{buildroot}%{_sysconfdir}/init.d/mysql-mmm-agent install -m 0755 %SOURCE4 %{buildroot}%{_sysconfdir}/init.d/mysql-mmm-monitor # Create defaults files %{__mkdir_p} %{buildroot}%{_sysconfdir}/default # Create %%ghost files touch %{buildroot}%{_localstatedir}/run/mysql-mmm/mmm_agentd.pid touch %{buildroot}%{_localstatedir}/run/mysql-mmm/mmm_mond.pid touch %{buildroot}%{_localstatedir}/lock/subsys/mysql-mmm-agent touch %{buildroot}%{_localstatedir}/lock/subsys/mysql-mmm-monitor cat >%{buildroot}%{_sysconfdir}/default/mysql-mmm-agent <<EOF # mysql-mmm-agent defaults ENABLED=1 EOF cat >%{buildroot}%{_sysconfdir}/default/mysql-mmm-monitor <<EOF # mysql-mmm-monitor defaults ENABLED=1 EOF %clean %{__rm} -rf %{buildroot} %post agent if [ $1 -eq 1 ]; then /sbin/chkconfig --add mysql-mmm-agent /sbin/chkconfig mysql-mmm-agent off elif [ $1 -ge 2 ]; then /sbin/service mysql-mmm-agent condrestart fi %post monitor if [ $1 -eq 1 ]; then /sbin/chkconfig --add mysql-mmm-monitor /sbin/chkconfig mysql-mmm-monitor off elif [ $1 -ge 2 ] ; then /sbin/service mysql-mmm-monitor condrestart fi %preun agent if [ $1 -eq 0 ]; then /sbin/service mysql-mmm-agent stop > /dev/null 2>&1 /sbin/chkconfig --del mysql-mmm-agent fi %preun monitor if [ $1 -eq 0 ]; then /sbin/service mysql-mmm-monitor stop > /dev/null 2>&1 /sbin/chkconfig --del mysql-mmm-monitor fi %files %defattr(-,root,root,-) %doc COPYING INSTALL README VERSION %{name}-%{version}.pdf %dir %{_sysconfdir}/mysql-mmm %attr(755,root,root) %dir %{_localstatedir}/lib/mysql-mmm %ghost %attr(755,root,root) %dir %{_localstatedir}/run/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 %defattr(-,root,root,-) %doc README %config(noreplace) %attr(644,root,root) %{_sysconfdir}/mysql-mmm/mmm_tools.conf %{perl_vendorlib}/MMM/Tools %{_libexecdir}/mysql-mmm/tools/ %{_sbindir}/mmm_backup %{_sbindir}/mmm_clone %{_sbindir}/mmm_restore %files agent %defattr(-,root,root,-) %doc README %config(noreplace) %attr(640,root,root) %{_sysconfdir}/mysql-mmm/mmm_agent.conf %config(noreplace) %attr(644,root,root) %{_sysconfdir}/default/mysql-mmm-agent %ghost %{_localstatedir}/run/mysql-mmm/mmm_agentd.pid %attr(755,root,root) %{_sysconfdir}/init.d/mysql-mmm-agent %ghost %{_localstatedir}/lock/subsys/mysql-mmm-agent %{perl_vendorlib}/MMM/Agent %{_libexecdir}/mysql-mmm/agent/ %{_sbindir}/mmm_agentd %files monitor %defattr(-,root,root,-) %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 %config(noreplace) %attr(644,root,root) %{_sysconfdir}/default/mysql-mmm-monitor %attr(755,root,root) %{_sysconfdir}/init.d/mysql-mmm-monitor %ghost %{_localstatedir}/run/mysql-mmm/mmm_mond.pid %ghost %{_localstatedir}/lock/subsys/mysql-mmm-monitor %{perl_vendorlib}/MMM/Monitor %{_libexecdir}/mysql-mmm/monitor/ %{_sbindir}/mmm_mond %{_sbindir}/mmm_control %changelog * 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 * Thu 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) * Mon 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 * Sun 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)