]> git.pld-linux.org Git - SPECS.git/blob - mysql-proxy.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / mysql-proxy.spec
1 # TODO
2 #  - replace this package with mysql-router
3 #
4 # Conditional build:
5 %bcond_with     tests           # build with tests. needs mysql server on localhost:3306
6
7 Summary:        MySQL Proxy
8 Summary(pl.UTF-8):      Proxy MySQL
9 Name:           mysql-proxy
10 Version:        0.8.5
11 Release:        1
12 License:        GPL v2
13 Group:          Applications/Networking
14 Source0:        https://downloads.mysql.com/archives/get/p/21/file/%{name}-%{version}.tar.gz
15 # Source0-md5:  cf31d5a2239b212f5c1c2251f8198ada
16 Source1:        %{name}.init
17 Source2:        %{name}.sysconfig
18 Source3:        %{name}.conf
19 Source4:        admin-1.lua
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
34 %if %{with tests}
35 BuildRequires:  check
36 BuildRequires:  lua51
37 %endif
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)
49
50 %define         _includedir     %{_prefix}/include/%{name}
51
52 %description
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.
58
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.
66
67 %prep
68 %setup -q
69 %patch0 -p1
70 %patch1 -p1
71 %patch2 -p1
72
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
75
76 %build
77 %{__libtoolize}
78 %{__aclocal} -I m4
79 %{__autoconf}
80 %{__autoheader}
81 %{__automake}
82 %configure \
83         --with-lua=lua51
84 %{__make}
85
86 %if %{with tests}
87 export MYSQL_USER=mysql
88 export MYSQL_PASSWORD=
89 export MYSQL_HOST=localhost
90 export MYSQL_DB=test
91 %{__make} -C tests/suite check
92 %endif
93
94 %install
95 rm -rf $RPM_BUILD_ROOT
96 %{__make} install \
97         DESTDIR=$RPM_BUILD_ROOT
98
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
103
104 # daemon in sbindir
105 install -d $RPM_BUILD_ROOT%{_sbindir}
106 mv $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/mysql-proxy
107
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
113 # contrib lua
114 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/%{name}/lua/proxy
115
116 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/*.la
117 %{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/lua/*.la
118
119 # no -devel, kill
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}
124
125 %clean
126 rm -rf $RPM_BUILD_ROOT
127
128 %pre
129 %groupadd -g 193 mysqlproxy
130 %useradd -u 193 -g mysqlproxy -c "MySQL Proxy" mysqlproxy
131
132 %post
133 /sbin/ldconfig
134 /sbin/chkconfig --add %{name}
135 %service %{name} restart "MySQL Proxy"
136
137 %preun
138 if [ "$1" = "0" ]; then
139         %service -q %{name} stop
140         /sbin/chkconfig --del %{name}
141 fi
142
143 %postun
144 /sbin/ldconfig
145 if [ "$1" = "0" ]; then
146         %userremove mysqlproxy
147         %groupremove mysqlproxy
148 fi
149
150 %files
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}
158
159 %attr(750,root,mysqlproxy) %dir /var/log/%{name}
160 %attr(750,root,mysqlproxy) %dir /var/log/archive/%{name}
161
162 # ??? tools?
163 %attr(755,root,root) %{_bindir}/mysql-binlog-dump
164 %attr(755,root,root) %{_bindir}/mysql-myisam-dump
165
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
174
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
183
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
189
190 # -libs
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.*.*.*
This page took 1.216922 seconds and 3 git commands to generate.