]> git.pld-linux.org Git - packages/percona-toolkit.git/blob - percona-toolkit.spec
- drop obsolete and outdated manual inclusion of rpm macros
[packages/percona-toolkit.git] / percona-toolkit.spec
1 Summary:        Essential command-line utilities for MySQL
2 Name:           percona-toolkit
3 Version:        3.1
4 Release:        1
5 License:        GPL v2
6 Group:          Applications/Databases
7 Source0:        https://www.percona.com/downloads/percona-toolkit/%{version}/source/tarball/%{name}-%{version}.tar.gz
8 # Source0-md5:  7521f8cbe1f5e579fbc742e3c1667327
9 Source1:        %{name}.conf
10 Source2:        %{name}.tmpfiles
11 Source3:        pt-kill.init
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
29 Requires:       rc-scripts
30 Provides:       group(percona-toolkit)
31 Provides:       user(percona-toolkit)
32 Obsoletes:      mysqldumpgrants
33 Obsoletes:      mysqltoolkit
34 BuildArch:      noarch
35 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
36
37 %description
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
48
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.
52
53 %prep
54 %setup -q
55 %patch0 -p1
56 %patch1 -p2
57
58 find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -v
59
60 # change shebang to be actual interpreter for rpm to generate deps on the
61 # interpreters.
62 %{__sed} -i -e '1s,^#!.*env *perl,#!%{__perl},' bin/pt-*
63 %{__sed} -i -e '1s,^#!.*env bash,#!/bin/bash,' bin/pt-*
64
65 %build
66 %{__perl} Makefile.PL \
67         INSTALLDIRS=vendor
68 %{__make}
69
70 %install
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}
74
75 %{__make} pure_install \
76         PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
77
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
84
85 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/pt-kill
86
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
90
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
93
94 %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/%{name}/.packlist
95
96 %clean
97 rm -rf $RPM_BUILD_ROOT
98
99 %pre
100 %groupadd -g 310 percona-toolkit
101 %useradd -u 310 -d /etc/percona-toolkit -g percona-toolkit -c "Percona Toolkit User" percona-toolkit
102
103 %postun
104 if [ "$1" = "0" ]; then
105         %userremove percona-toolkit
106         %groupremove percona-toolkit
107 fi
108
109 %files
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}
This page took 0.074406 seconds and 3 git commands to generate.