commit a207031c379938aedeece8f3a5d04024e42356cd
Author: Elan Ruusamäe <[email protected]>
Date:   Mon Apr 28 16:31:41 2014 +0300

    add initscript for pt-kill services
    
    currently single instance and running as root

 percona-toolkit.spec |   9 ++++-
 pt-kill.init         | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+), 1 deletion(-)
---
diff --git a/percona-toolkit.spec b/percona-toolkit.spec
index f9fc073..24f35a0 100644
--- a/percona-toolkit.spec
+++ b/percona-toolkit.spec
@@ -8,16 +8,20 @@ Group:                Applications/Databases
 Source0:       
https://www.percona.com/downloads/percona-toolkit/%{version}/%{name}-%{version}.tar.gz
 # Source0-md5: 7514af32e0edff70c4934da2e5e36303
 Source1:       %{name}.conf
+Source2:       pt-kill.init
 Patch0:                no-versioncheck.patch
 URL:           http://www.percona.com/software/percona-toolkit/
 BuildRequires: perl-ExtUtils-MakeMaker
 BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: rpmbuild(macros) >= 1.228
 BuildRequires: sed >= 4.0
 Requires:      perl-DBD-mysql >= 1.0
 Requires:      perl-DBI >= 1.13
 Requires:      perl-Term-ReadKey >= 2.10
 Obsoletes:     mysqldumpgrants
 Obsoletes:     mysqltoolkit
+Requires(post,preun):  /sbin/chkconfig
+Requires:      rc-scripts
 BuildArch:     noarch
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -55,10 +59,12 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs 
-0 -r -l512 rm -v
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},/etc/rc.d/init.d}
 %{__make} pure_install \
        PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
 
+install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/pt-kill
+
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/percona-version-check
 
@@ -76,6 +82,7 @@ rm -rf $RPM_BUILD_ROOT
 %dir %{_sysconfdir}/%{name}
 %config(noreplace) %verify(not md5 mtime size) 
%{_sysconfdir}/%{name}/%{name}.conf
 %ghost %{_sysconfdir}/%{name}/percona-version-check
+%attr(754,root,root) /etc/rc.d/init.d/pt-kill
 %attr(755,root,root) %{_bindir}/pt-*
 %attr(755,root,root) %{_bindir}/mysqldumpgrants
 %{_mandir}/man1/%{name}.1*
diff --git a/pt-kill.init b/pt-kill.init
new file mode 100755
index 0000000..2ac3841
--- /dev/null
+++ b/pt-kill.init
@@ -0,0 +1,101 @@
+#!/bin/sh
+#
+# pt-kill      This shell script takes care of starting and stopping the 
pt-kill services.
+#
+# chkconfig:   345 60 40
+#
+# description: pt-kill stops long running MySQL queries
+# processname: pt-kill
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+# Get network config
+. /etc/sysconfig/network
+
+# Check that networking is up.
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; 
then
+               msg_network_down "pt-kill"
+               exit 1
+       fi
+else
+       exit 0
+fi
+
+config=/etc/percona-toolkit/pt-kill.conf
+sentinel=/var/run/pt-kill/pt-kill.sentinel
+pidfile=/var/run/pt-kill/pt-kill.pid
+user=root
+
+# Get service config - may override defaults
+[ -f /etc/sysconfig/pt-kill ] && . /etc/sysconfig/pt-kill
+
+start() {
+       # Check if the service is already running?
+       if [ -f /var/lock/subsys/pt-kill ]; then
+               msg_already_running "pt-kill"
+               return
+       fi
+
+       msg_starting "pt-kill"
+       # FIXME: instead of removing, fix stop process
+       rm -f $sentinel
+       daemon --user $user --redirfds /usr/bin/pt-kill --config $config 
--daemonize --pid $pidfile --sentinel $sentinel
+       RETVAL=$?
+       [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pt-kill
+}
+
+stop() {
+       if [ ! -f /var/lock/subsys/pt-kill ]; then
+               msg_not_running "pt-kill"
+               return
+       fi
+
+       # Stop daemons.
+       msg_stopping "pt-kill"
+       run_cmd --user $user "pt-kill" /usr/bin/pt-kill --config $config --stop 
--sentinel $sentinel
+       # FIXME: wait for sentinel and remove it
+       rm -f /var/lock/subsys/pt-kill
+}
+
+condrestart() {
+       if [ ! -f /var/lock/subsys/pt-kill ]; then
+               msg_not_running "pt-kill"
+               RETVAL=$1
+               return
+       fi
+
+       stop
+       start
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  restart)
+       stop
+       start
+       ;;
+  try-restart)
+       condrestart 0
+       ;;
+  force-reload)
+       condrestart 7
+       ;;
+  status)
+       status --pidfile $pidfile pt-kill
+       RETVAL=$?
+       ;;
+  *)
+       msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
+       exit 3
+esac
+
+exit $RETVAL
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/percona-toolkit.git/commitdiff/a207031c379938aedeece8f3a5d04024e42356cd

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

Reply via email to