2 # - replace this package with mysql-router
5 %bcond_with tests # build with tests. needs mysql server on localhost:3306
8 Summary(pl.UTF-8): Proxy MySQL
13 Group: Applications/Networking
14 Source0: https://downloads.mysql.com/archives/get/p/21/file/%{name}-%{version}.tar.gz
15 # Source0-md5: cf31d5a2239b212f5c1c2251f8198ada
17 Source2: %{name}.sysconfig
20 Patch0: install-examples.patch
21 Patch1: libevent-2.1.patch
22 Patch2: mysql-5.7.patch
23 URL: http://forge.mysql.com/wiki/MySQL_Proxy
24 BuildRequires: autoconf >= 2.62
25 BuildRequires: automake
26 BuildRequires: glib2-devel >= 1:2.4.0
27 BuildRequires: libevent-devel
28 BuildRequires: libtool
29 BuildRequires: lua51-devel
30 BuildRequires: mysql-devel
31 BuildRequires: pkgconfig
32 BuildRequires: rpmbuild(macros) >= 1.268
33 BuildRequires: sed >= 4.0
38 Requires(post,preun): /sbin/chkconfig
39 Requires(postun): /usr/sbin/groupdel
40 Requires(postun): /usr/sbin/userdel
41 Requires(pre): /bin/id
42 Requires(pre): /usr/bin/getgid
43 Requires(pre): /usr/sbin/groupadd
44 Requires(pre): /usr/sbin/useradd
45 Requires: rc-scripts >= 0.4.2.8
46 Provides: group(mysqlproxy)
47 Provides: user(mysqlproxy)
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
50 %define _includedir %{_prefix}/include/%{name}
53 MySQL Proxy is a simple program that sits between your client and
54 MySQL server(s) that can monitor, analyze or transform their
55 communication. Its flexibility allows for unlimited uses; common ones
56 include: load balancing; failover; query analysis; query filtering and
57 modification; and many more.
59 %description -l pl.UTF-8
60 MySQL Proxy to prosty program tkwiący między klienten a
61 serwerem/serwerami MySQL, potrafiący monitorować, analizować i
62 przekształcać ich komunikację. Jego elastyczność pozwala na
63 nieograniczone wykorzystanie; popularne sposoby użycia obejmują: load
64 balancing, failover, analizę zapytań, filtrowanie i modyfikowanie
65 zapytań... i wiele więcej.
73 %{__sed} -i -e 's/g_build_filename(base_dir, "lib"/g_build_filename(base_dir, "%{_lib}"/g' src/chassis-frontend.c
74 %{__sed} -i -e 's/g_build_filename(srv->base_dir, "lib"/g_build_filename(srv->base_dir, "%{_lib}"/g' src/chassis-frontend.c
87 export MYSQL_USER=mysql
88 export MYSQL_PASSWORD=
89 export MYSQL_HOST=localhost
91 %{__make} -C tests/suite check
95 rm -rf $RPM_BUILD_ROOT
97 DESTDIR=$RPM_BUILD_ROOT
99 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},%{_sysconfdir}/%{name},/var/log/{archive,}/%{name}}
100 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
101 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
102 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.conf
105 install -d $RPM_BUILD_ROOT%{_sbindir}
106 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql-proxy
108 # noarch data to %{_datadir}
109 install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/lua
110 mv $RPM_BUILD_ROOT{%{_libdir},%{_datadir}}/%{name}/lua/proxy
111 mv $RPM_BUILD_ROOT{%{_libdir},%{_datadir}}/%{name}/lua/examples
112 mv $RPM_BUILD_ROOT{%{_libdir},%{_datadir}}/%{name}/lua/admin.lua
114 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/%{name}/lua/proxy
116 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.la
117 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lua/*.la
120 %{__rm} -r $RPM_BUILD_ROOT%{_includedir}
121 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libmysql-*.la
122 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libmysql-*.so
123 %{__rm} -r $RPM_BUILD_ROOT%{_pkgconfigdir}
126 rm -rf $RPM_BUILD_ROOT
129 %groupadd -g 193 mysqlproxy
130 %useradd -u 193 -g mysqlproxy -c "MySQL Proxy" mysqlproxy
134 /sbin/chkconfig --add %{name}
135 %service %{name} restart "MySQL Proxy"
138 if [ "$1" = "0" ]; then
139 %service -q %{name} stop
140 /sbin/chkconfig --del %{name}
145 if [ "$1" = "0" ]; then
146 %userremove mysqlproxy
147 %groupremove mysqlproxy
151 %defattr(644,root,root,755)
152 %doc AUTHORS NEWS README* ChangeLog
153 %attr(754,root,root) /etc/rc.d/init.d/%{name}
154 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
155 %dir %attr(750,root,root) %{_sysconfdir}/%{name}
156 %config(noreplace) %attr(640,root,root) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
157 %attr(755,root,root) %{_sbindir}/%{name}
159 %attr(750,root,mysqlproxy) %dir /var/log/%{name}
160 %attr(750,root,mysqlproxy) %dir /var/log/archive/%{name}
163 %attr(755,root,root) %{_bindir}/mysql-binlog-dump
164 %attr(755,root,root) %{_bindir}/mysql-myisam-dump
166 %dir %{_libdir}/%{name}
167 %dir %{_libdir}/%{name}/lua
168 %attr(755,root,root) %{_libdir}/%{name}/lua/chassis.so
169 %attr(755,root,root) %{_libdir}/%{name}/lua/glib2.so
170 %attr(755,root,root) %{_libdir}/%{name}/lua/lfs.so
171 %attr(755,root,root) %{_libdir}/%{name}/lua/lpeg.so
172 %attr(755,root,root) %{_libdir}/%{name}/lua/mysql.so
173 %attr(755,root,root) %{_libdir}/%{name}/lua/posix.so
175 %dir %{_datadir}/%{name}
176 %dir %{_datadir}/%{name}/lua
177 %{_datadir}/%{name}/lua/admin.lua
178 %dir %{_datadir}/%{name}/lua/proxy
179 %{_datadir}/%{name}/lua/proxy/*.lua
180 %dir %{_datadir}/%{name}/lua/examples
181 %{_datadir}/%{name}/lua/examples/*.lua
182 %{_datadir}/%{name}/lua/examples/*.msc
184 %dir %{_libdir}/%{name}/plugins
185 %attr(755,root,root) %{_libdir}/%{name}/plugins/libadmin.so
186 %attr(755,root,root) %{_libdir}/%{name}/plugins/libdebug.so
187 %attr(755,root,root) %{_libdir}/%{name}/plugins/libproxy.so
188 %attr(755,root,root) %{_libdir}/%{name}/plugins/libreplicant.so
191 %attr(755,root,root) %ghost %{_libdir}/libmysql-chassis-timing.so.0
192 %attr(755,root,root) %{_libdir}/libmysql-chassis-timing.so.*.*.*
193 %attr(755,root,root) %ghost %{_libdir}/libmysql-chassis.so.0
194 %attr(755,root,root) %{_libdir}/libmysql-chassis.so.*.*.*
195 %attr(755,root,root) %ghost %{_libdir}/libmysql-chassis-glibext.so.0
196 %attr(755,root,root) %{_libdir}/libmysql-chassis-glibext.so.*.*.*
197 %attr(755,root,root) %ghost %{_libdir}/libmysql-proxy.so.0
198 %attr(755,root,root) %{_libdir}/libmysql-proxy.so.*.*.*