1 %include /usr/lib/rpm/macros.perl
2 Summary: Essential command-line utilities for MySQL
7 Group: Applications/Databases
8 Source0: http://www.percona.com/downloads/percona-toolkit/%{version}/tarball/%{name}-%{version}.tar.gz
9 # Source0-md5: 7c39b06b97ebab97ae5d3c78d1186258
11 Source2: %{name}.tmpfiles
13 Patch0: no-versioncheck.patch
14 Patch1: bug-1314696.patch
15 URL: http://www.percona.com/software/percona-toolkit/
16 BuildRequires: perl-ExtUtils-MakeMaker
17 BuildRequires: rpm-perlprov >= 4.1-13
18 BuildRequires: rpmbuild(macros) >= 1.228
19 BuildRequires: sed >= 4.0
20 Requires(post,preun): /sbin/chkconfig
21 Requires(postun): /usr/sbin/groupdel
22 Requires(postun): /usr/sbin/userdel
23 Requires(pre): /bin/id
24 Requires(pre): /usr/bin/getgid
25 Requires(pre): /usr/sbin/groupadd
26 Requires(pre): /usr/sbin/useradd
27 Requires: perl-DBD-mysql >= 1.0
28 Requires: perl-DBI >= 1.13
29 Requires: perl-Term-ReadKey >= 2.10
31 Provides: group(percona-toolkit)
32 Provides: user(percona-toolkit)
33 Obsoletes: mysqldumpgrants
34 Obsoletes: mysqltoolkit
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 Percona Toolkit for MySQL is a collection of advanced command-line
40 tools used by Percona MySQL Support staff to perform a variety of
41 MySQL server and system tasks that are too difficult or complex to
42 perform manually, including:
43 - Verify master and replica data consistency
44 - Efficiently archive rows
45 - Find duplicate indexes
46 - Summarize MySQL servers
47 - Analyze queries from logs and tcpdump
48 - Collect vital system information when problems occur
50 Percona Toolkit for MySQL is derived from Maatkit and Aspersa, two of
51 the best-known MySQL management software utility toolkits for MySQL
52 server administration.
59 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -v
61 # change shebang to be actual interpreter for rpm to generate deps on the
63 %{__sed} -i -e '1s,^#!.*env *perl,#!%{__perl},' bin/pt-*
64 %{__sed} -i -e '1s,^#!.*env bash,#!/bin/bash,' bin/pt-*
67 %{__perl} Makefile.PL \
72 rm -rf $RPM_BUILD_ROOT
73 install -d $RPM_BUILD_ROOT{%{_sysconfdir}/%{name},%{systemdtmpfilesdir},/etc/rc.d/init.d} \
74 $RPM_BUILD_ROOT/var/run/%{name}
76 %{__make} pure_install \
77 PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
79 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/pt-kill
81 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
82 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
83 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/percona-version-check
85 ln -s pt-show-grants $RPM_BUILD_ROOT%{_bindir}/mysqldumpgrants
86 echo '.so man1/pt-show-grants.1p' > $RPM_BUILD_ROOT%{_mandir}/man1/mysqldumpgrants.1
88 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/.packlist
91 rm -rf $RPM_BUILD_ROOT
94 %groupadd -g 310 percona-toolkit
95 %useradd -u 310 -d /etc/percona-toolkit -g percona-toolkit -c "Percona Toolkit User" percona-toolkit
99 if [ "$1" = "0" ]; then
100 %userremove percona-toolkit
101 %groupremove percona-toolkit
105 %defattr(644,root,root,755)
106 %doc Changelog README
107 %dir %{_sysconfdir}/%{name}
108 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
109 %ghost %{_sysconfdir}/%{name}/percona-version-check
110 %attr(754,root,root) /etc/rc.d/init.d/pt-kill
111 %attr(755,root,root) %{_bindir}/pt-*
112 %attr(755,root,root) %{_bindir}/mysqldumpgrants
113 %{systemdtmpfilesdir}/%{name}.conf
114 %{_mandir}/man1/%{name}.1*
115 %{_mandir}/man1/pt-*.1*
116 %{_mandir}/man1/mysqldumpgrants.1
117 %dir %attr(770,root,percona-toolkit) /var/run/%{name}