]> git.pld-linux.org Git - packages/xtrabackup.git/blob - xtrabackup.spec
4aff3283830bbf074764ab4259e7060eef1ec4b5
[packages/xtrabackup.git] / xtrabackup.spec
1 # NOTES
2 # - build instructions: http://www.percona.com/doc/percona-xtrabackup/2.2/installation/compiling_xtrabackup.html
3 Summary:        XtraBackup online backup for MySQL/InnoDB
4 Summary(pl.UTF-8):      XtraBackup - kopie zapasowe w locie dla MySQL-a/InnoDB
5 Name:           xtrabackup
6 Version:        2.4.20
7 Release:        2
8 License:        GPL v2
9 Group:          Applications/Databases
10 #Source0Download: https://github.com/percona/percona-xtrabackup/releases
11 Source0:        https://github.com/percona/percona-xtrabackup/archive/percona-%{name}-%{version}.tar.gz
12 # Source0-md5:  dfbd0310f1df084696fe16eea6efdc5d
13 Source1:        http://downloads.sourceforge.net/boost/boost_1_59_0.tar.bz2
14 # Source1-md5:  6aa9a5c6a4ca1016edd0ed1178e3cb87
15 Patch0:         %{name}-no-common.patch
16 Patch1:         %{name}-abiversion.patch
17 URL:            https://www.percona.com/doc/percona-xtrabackup/
18 BuildRequires:  acl-devel
19 BuildRequires:  bash
20 BuildRequires:  bison >= 2
21 BuildRequires:  cmake >= 2.8.9
22 BuildRequires:  curl-devel
23 BuildRequires:  cyrus-sasl-devel
24 BuildRequires:  gnupg
25 BuildRequires:  libaio-devel
26 BuildRequires:  libarchive-devel
27 BuildRequires:  libatomic-devel
28 BuildRequires:  libedit-devel
29 BuildRequires:  libev-devel
30 BuildRequires:  libevent-devel >= 2
31 BuildRequires:  libgcrypt-devel
32 BuildRequires:  libstdc++-devel >= 6:4.7
33 BuildRequires:  libtirpc-devel >= 1.0
34 BuildRequires:  ncurses-devel >= 4.2
35 BuildRequires:  numactl-devel
36 BuildRequires:  openssl-devel
37 BuildRequires:  pkgconfig
38 BuildRequires:  protobuf-devel >= 2.5
39 BuildRequires:  python-modules
40 BuildRequires:  sphinx-pdg
41 BuildRequires:  systemd-units
42 BuildRequires:  xxd
43 BuildRequires:  zlib-devel
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
46 %description
47 Percona XtraBackup is an open-source hot backup utility for
48 MySQL-based servers that doesn't lock your database during the backup.
49
50 It can back up data from InnoDB, XtraDB, and MyISAM tables on MySQL
51 5.1, 5.5 and 5.6 servers, as well as Percona Server with XtraDB.
52
53 Percona XtraBackup is a combination of the xtrabackup C program, and
54 the innobackupex Perl script. The xtrabackup program copies and
55 manipulates InnoDB and XtraDB data files, and the Perl script enables
56 enhanced functionality, such as interacting with a running MySQL
57 server and backing up MyISAM tables.
58
59 %description -l pl.UTF-8
60 Percona XtraBackup to mające otwarte źródła narzędzie do tworzenia w
61 locie kopii zapasowych dla serwerów opartych na MySQL-u, nie blokujące
62 bazy danych w trakcie tworzenia kopii.
63
64 Potrafi zachowywać dane z tabel InnoDB, XtraDB oraz MyISAM serwerów
65 MySQL 5.1, 5.5 i 5.6, a także Percona Server z XtraDB.
66
67 Percona XtraBackup to połączenie programu w C xtrabackup oraz skryptu
68 Perla innobackupex. Program xtrabackup kopiuje i operuje na plikach
69 danych InnoDB i XtraDB, a skrypt perlowy uzupełnia o dodatkowe
70 funkcje, takie jak łączność z działającym serwerem MySQL czy
71 kopiowanie tabel MyISAM.
72
73
74 %prep
75 %setup -q -n percona-%{name}-percona-%{name}-%{version} -a1
76 %patch0 -p1
77 %patch1 -p1
78
79 # actually not used
80 %{__mv} storage/innobase/xtrabackup/src/jsmn jsmn.dist
81 # use system package
82 %{__mv} zlib zlib.dist
83
84 %build
85 install -d build
86 cd build
87 # ENABLE_OPENSSL is for internal libarchive to use MD5 implementation from (already used) openssl instad of additionally pulling libmd
88 %cmake \
89         -DBUILD_CONFIG=xtrabackup_release \
90         -DBUILD_SHARED_LIBS:BOOL=OFF \
91         -DCMAKE_BUILD_TYPE=%{!?debug:RelWithDebInfo}%{?debug:Debug} \
92         -DCMAKE_C_FLAGS="%{rpmcflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
93         -DCMAKE_CXX_FLAGS="%{rpmcxxflags} -DNDEBUG -fno-omit-frame-pointer -fno-strict-aliasing" \
94         -DENABLE_DTRACE=OFF \
95         -DENABLE_OPENSSL=ON \
96         -DINSTALL_PLUGINDIR="%{_lib}/xtrabackup/plugins" \
97         -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
98         -DWITH_BOOST="$(pwd)/$(ls -1d ../boost_*)" \
99         -DWITH_CURL=system \
100         -DWITH_EDITLINE=system \
101         -DWITH_LIBEVENT=system \
102         -DWITH_LZ4=system \
103         -DWITH_PIC=ON \
104         -DWITH_PROTOBUF=system \
105         -DWITH_SASL=system \
106         -DWITH_SSL=system \
107         -DWITH_ZLIB=system \
108         ..
109
110 %{__make}
111
112 %install
113 rm -rf $RPM_BUILD_ROOT
114
115 %{__make} -C build install \
116         DESTDIR=$RPM_BUILD_ROOT
117
118 # TODO: find fix in cmake rules (storage/innobase/xtrabackup/doc/source/CMakeLists.txt)
119 install -d $RPM_BUILD_ROOT%{_mandir}
120 b=$(readlink -f %{_builddir}/percona-%{name}-percona-%{name}-%{version})
121 %{__mv} $RPM_BUILD_ROOT$b/build/man/man1 $RPM_BUILD_ROOT%{_mandir}
122
123 %{__rm} -r $RPM_BUILD_ROOT%{_prefix}/xtrabackup-test
124
125 %clean
126 rm -rf $RPM_BUILD_ROOT
127
128 %files
129 %defattr(644,root,root,755)
130 %attr(755,root,root) %{_bindir}/innobackupex
131 %attr(755,root,root) %{_bindir}/xbcloud
132 %attr(755,root,root) %{_bindir}/xbcloud_osenv
133 %attr(755,root,root) %{_bindir}/xbcrypt
134 %attr(755,root,root) %{_bindir}/xbstream
135 %attr(755,root,root) %{_bindir}/xtrabackup
136 %{_mandir}/man1/innobackupex.1*
137 %{_mandir}/man1/xbcrypt.1*
138 %{_mandir}/man1/xbstream.1*
139 %{_mandir}/man1/xtrabackup.1*
140 %dir %{_libdir}/%{name}
141 %dir %{_libdir}/%{name}/plugins
142 %attr(755,root,root) %{_libdir}/%{name}/plugins/keyring_file.so
143 %attr(755,root,root) %{_libdir}/%{name}/plugins/keyring_vault.so
This page took 0.062647 seconds and 2 git commands to generate.