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