]>
Commit | Line | Data |
---|---|---|
1 | # TODO: | |
2 | # - initscript for zabbix-server, zabbix-proxy and zabbix-java | |
3 | # - unpackaged files: | |
4 | # /usr/bin/zabbix_js | |
5 | # /var/lib/zabbix/zabbix.db | |
6 | # | |
7 | # Conditional build: | |
8 | %bcond_without pgsql # enable PostgreSQL support | |
9 | %bcond_without sqlite3 # enable sqlite3 support | |
10 | %bcond_without mysql # enable MySQL support | |
11 | %bcond_without java # disable java support | |
12 | %bcond_without agent2 # disable bulding of Go based agent2 | |
13 | ||
14 | %define databases %{?with_sqlite3:sqlite3} %{?with_pgsql:postgresql} %{?with_mysql:mysql} | |
15 | %define any_database %{with pgsql}%{with mysql}%{with sqlite3} | |
16 | ||
17 | %ifnarch %{go_arches} | |
18 | %undefine with_agent2 | |
19 | %endif | |
20 | ||
21 | %{?with_java:%{?use_default_jdk}} | |
22 | ||
23 | %define php_min_version 7.2.5 | |
24 | Summary: Zabbix - network monitoring software | |
25 | Summary(pl.UTF-8): Zabbix - oprogramowanie do monitorowania sieci | |
26 | Name: zabbix | |
27 | Version: 6.0.18 | |
28 | Release: 1 | |
29 | License: GPL v2+ | |
30 | Group: Networking/Utilities | |
31 | # https://www.zabbix.com/download_sources | |
32 | Source0: https://cdn.zabbix.com/zabbix/sources/stable/6.0/%{name}-%{version}.tar.gz | |
33 | # Source0-md5: f9e1a26ad0efd2113185d4f20438115e | |
34 | Source100: go-vendor.tar.xz | |
35 | # Source100-md5: d8066694cdc04c5d1f42c53ea7a881f2 | |
36 | Source1: %{name}-apache.conf | |
37 | Source2: %{name}_server.service | |
38 | Source3: %{name}_agentd.service | |
39 | Source4: %{name}_proxy.service | |
40 | Source5: %{name}_java.service | |
41 | Source6: %{name}.tmpfiles | |
42 | Source7: %{name}_agentd.init | |
43 | Source8: %{name}_agent2.init | |
44 | Source9: %{name}_agent2.service | |
45 | %if 0 | |
46 | cd src/go/ | |
47 | go mod vendor | |
48 | tar -caf ~/go-vendor.tar.xz -C ../../ src/go/vendor | |
49 | %endif | |
50 | Patch0: config.patch | |
51 | Patch1: sqlite3_dbname.patch | |
52 | Patch2: always_compile_ipc.patch | |
53 | Patch3: go-destdir.patch | |
54 | Patch4: go-vendor.patch | |
55 | URL: https://www.zabbix.com/ | |
56 | BuildRequires: OpenIPMI-devel | |
57 | BuildRequires: autoconf | |
58 | BuildRequires: automake >= 1:1.15 | |
59 | BuildRequires: curl-devel | |
60 | BuildRequires: iksemel-devel | |
61 | %{?with_java:%{?use_jdk:%buildrequires_jdk}%{!?use_jdk:BuildRequires: jdk}} | |
62 | BuildRequires: rpm-build >= 4.6 | |
63 | %{?with_java:BuildRequires: rpm-pld-macros-javaprov} | |
64 | %{?with_agent2:BuildRequires: golang >= 1.13} | |
65 | BuildRequires: libevent-devel | |
66 | BuildRequires: libssh2-devel | |
67 | BuildRequires: libtool | |
68 | BuildRequires: libxml2-devel | |
69 | %{?with_mysql:BuildRequires: mysql-devel} | |
70 | BuildRequires: net-snmp-devel | |
71 | BuildRequires: openldap-devel >= 2.4.6 | |
72 | BuildRequires: openssl-devel >= 0.9.7d | |
73 | BuildRequires: pcre-devel | |
74 | %{?with_pgsql:BuildRequires: postgresql-devel} | |
75 | BuildRequires: rpmbuild(macros) >= 2.021 | |
76 | %{?with_sqlite3:BuildRequires: sqlite3-devel} | |
77 | BuildRequires: tar >= 1:1.22 | |
78 | BuildRequires: unixODBC-devel | |
79 | BuildRequires: xz | |
80 | BuildRequires: zlib-devel | |
81 | Requires: %{name}-agentd = %{version}-%{release} | |
82 | Requires: %{name}-frontend-php = %{version}-%{release} | |
83 | Requires: %{name}-server = %{version}-%{release} | |
84 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
85 | ||
86 | %define _sysconfdir /etc/%{name} | |
87 | %define _appdir %{_datadir}/%{name} | |
88 | %define _webapps /etc/webapps | |
89 | %define _webapp %{name} | |
90 | ||
91 | %if %{defined __compress_doc} | |
92 | %define doc_cat zcat | |
93 | %define doc_suffix .gz | |
94 | %else | |
95 | %define doc_cat cat | |
96 | %define doc_suffix %{nil} | |
97 | %endif | |
98 | ||
99 | %description | |
100 | Zabbix is software that monitors numerous parameters of a network and | |
101 | the servers on that network. It is a useful tool for monitoring the | |
102 | health and integrity of servers. Zabbix uses a flexible notification | |
103 | mechanism that allows users to configure email based alerts for | |
104 | virtually any event. All monitored parameters are stored in a | |
105 | database. Zabbix offers excellent reporting and data visualisation | |
106 | features based on the stored data. Zabbix supports both polling and | |
107 | trapping. All Zabbix reports and statistics, as well as configuration | |
108 | parameters, are accessed through a web-based front end. | |
109 | ||
110 | %description -l pl.UTF-8 | |
111 | Zabbix to oprogramowanie do monitorowania licznych parametrów sieci i | |
112 | serwerów sieciowych. Jest przydatny przy monitorowaniu działania | |
113 | serwerów. Jorzysta z elastycznego mechanizmu powiadamiania, który | |
114 | pozwala użytkownikom konfigurować powiadamianie pocztą elektroniczną | |
115 | dla praktycznie wszelkich zdarzeń. Monitorowane parametry są | |
116 | przechowywane w bazie danych. W oparciu o przechowywane dane Zabbix | |
117 | oferuje świetne raportowanie i funkcje wizualizacji. Wspiera zarówno | |
118 | odpytywanie jak i pułapkowanie. Dostęp do wszystkich raportów i | |
119 | statystyk Zabbiksa jest możliwy poprzez interfejs oparty o WWW. | |
120 | ||
121 | %package common | |
122 | Summary: Common files for Zabbix monitoring software | |
123 | Summary(pl.UTF-8): Wspólne pliki dla oprogramowania monitorującego Zabbix | |
124 | Group: Networking/Utilities | |
125 | Requires(postun): /usr/sbin/groupdel | |
126 | Requires(postun): /usr/sbin/userdel | |
127 | Requires(pre): /bin/id | |
128 | Requires(pre): /usr/bin/getgid | |
129 | Requires(pre): /usr/sbin/groupadd | |
130 | Requires(pre): /usr/sbin/useradd | |
131 | Provides: group(zabbix) | |
132 | Provides: user(zabbix) | |
133 | ||
134 | %description common | |
135 | Common files for Zabbix monitoring software. | |
136 | ||
137 | %description common -l pl.UTF-8 | |
138 | Wspólne pliki dla oprogramowania monitorującego Zabbix. | |
139 | ||
140 | %package agentd | |
141 | Summary: Zabbix Agent | |
142 | Summary(pl.UTF-8): Agenta Zabbiksa | |
143 | Group: Networking/Utilities | |
144 | Requires: %{name}-common = %{version}-%{release} | |
145 | Requires: systemd-units >= 38 | |
146 | Obsoletes: zabbix-agent-inetd | |
147 | Obsoletes: zabbix-agent-standalone | |
148 | Requires(post,preun): /sbin/chkconfig | |
149 | Requires: rc-scripts | |
150 | ||
151 | %description agentd | |
152 | Zabbix agent collects data from the local system for a Zabbix server. | |
153 | ||
154 | %description agentd -l pl.UTF-8 | |
155 | Agent zbiera dane z lokalnej maszyny dla serwera Zabbix. | |
156 | ||
157 | %package agent2 | |
158 | Summary: Zabbix Agent 2 | |
159 | Group: Networking/Utilities | |
160 | URL: https://www.zabbix.com/documentation/current/manual/concepts/agent2 | |
161 | Requires: %{name}-common = %{version}-%{release} | |
162 | Requires(post,preun): /sbin/chkconfig | |
163 | Requires: rc-scripts | |
164 | ||
165 | %description agent2 | |
166 | Zabbix agent 2 is a new generation of Zabbix agent and may be used in | |
167 | place of Zabbix agent. | |
168 | ||
169 | Zabbix agent 2 has been developed to: | |
170 | - reduce the number of TCP connections | |
171 | - have greater check concurrency | |
172 | - be easily extendible with plugins. | |
173 | ||
174 | A plugin should be able to: | |
175 | - provide trivial checks consisting of only a few simple lines of code | |
176 | - provide complex checks consisting of long-running scripts and | |
177 | standalone data gathering with periodic sending back of the data | |
178 | - be a drop-in replacement for Zabbix agent (in that it supports all | |
179 | the previous functionality) | |
180 | ||
181 | Passive checks work similarly to Zabbix agent. Active checks support | |
182 | scheduled/flexible intervals and check concurrency within one active | |
183 | server. | |
184 | ||
185 | %package frontend-php | |
186 | Summary: PHP frontend for Zabbix | |
187 | Summary(pl.UTF-8): Interfejs PHP dla Zabbiksa | |
188 | Group: Applications/WWW | |
189 | Requires: php(bcmath) | |
190 | Requires: php(core) >= %{php_min_version} | |
191 | Requires: php(ctype) | |
192 | Requires: php(filter) | |
193 | Requires: php(gd) | |
194 | Requires: php(gettext) | |
195 | Requires: php(json) | |
196 | Requires: php(mbstring) | |
197 | Requires: php(openssl) | |
198 | Requires: php(pcre) | |
199 | Requires: php(session) | |
200 | Requires: php(simplexml) | |
201 | Requires: php(sockets) | |
202 | Requires: php(xml) | |
203 | Requires: php(xmlreader) | |
204 | Requires: php(xmlwriter) | |
205 | Requires: webapps | |
206 | Requires: webserver(alias) | |
207 | Requires: webserver(indexfile) | |
208 | Requires: webserver(php) | |
209 | Suggests: php(mysql) | |
210 | Suggests: php(pgsql) | |
211 | Suggests: php(sqlite3) | |
212 | # used with sqlite3 | |
213 | Suggests: php(sysvsem) | |
214 | BuildArch: noarch | |
215 | ||
216 | %description frontend-php | |
217 | This package provides web based (PHP) frontend for Zabbix. | |
218 | ||
219 | %description frontend-php -l pl.UTF-8 | |
220 | Ten pakiet dostarcza napisany w PHP frontend dla Zabbiksa. | |
221 | ||
222 | %package get | |
223 | Summary: Program retrieving data from Zabbix agent | |
224 | Summary(pl.UTF-8): Program odpytujÄcy agenta Zabbiksa | |
225 | Group: Networking/Utilities | |
226 | ||
227 | %description get | |
228 | This package provides a program retrieving data from Zabbix agent. | |
229 | ||
230 | %description get -l pl.UTF-8 | |
231 | Ten pakiet zawiera program odpytujÄcy agenta Zabbiksa. | |
232 | ||
233 | %package proxy | |
234 | Summary: Zabbix proxy | |
235 | Summary(pl.UTF-8): Proxy do Zabbiksa | |
236 | Group: Networking/Utilities | |
237 | Requires: %{name}-common = %{version}-%{release} | |
238 | Requires: systemd-units >= 38 | |
239 | Requires: zabbix-proxy(db) = %{version}-%{release} | |
240 | ||
241 | %description proxy | |
242 | This package provides the Zabbix proxy. | |
243 | ||
244 | %description proxy -l pl.UTF-8 | |
245 | Ten pakiet zawiera proxy Zabbix. | |
246 | ||
247 | %package proxy-mysql | |
248 | Summary: MySQL support for Zabbix proxy | |
249 | Summary(pl.UTF-8): Obsługa MySQL dla proxy do Zabbiksa | |
250 | Group: Networking/Utilities | |
251 | Provides: %{name}-proxy(db) = %{version}-%{release} | |
252 | Obsoletes: zabbix-proxy-postgresql | |
253 | Obsoletes: zabbix-proxy-sqlite3 | |
254 | ||
255 | %description proxy-mysql | |
256 | This package provides the Zabbix proxy binary with MySQL support. | |
257 | ||
258 | %description proxy-mysql -l pl.UTF-8 | |
259 | Ten pakiet zawiera proxy Zabbix z obsługą MySQL. | |
260 | ||
261 | %package proxy-postgresql | |
262 | Summary: PostgreSQL support for Zabbix proxy | |
263 | Summary(pl.UTF-8): Obsługa PostgreSQL dla proxy do Zabbiksa | |
264 | Group: Networking/Utilities | |
265 | Provides: %{name}-proxy(db) = %{version}-%{release} | |
266 | Obsoletes: zabbix-proxy-mysql | |
267 | Obsoletes: zabbix-proxy-sqlite3 | |
268 | ||
269 | %description proxy-postgresql | |
270 | This package provides the Zabbix proxy binary with PostgreSQL support. | |
271 | ||
272 | %description proxy-postgresql -l pl.UTF-8 | |
273 | Ten pakiet zawiera proxy Zabbix z obsługą PostgreSQL. | |
274 | ||
275 | %package proxy-sqlite3 | |
276 | Summary: SQLite 3 support for Zabbix proxy | |
277 | Summary(pl.UTF-8): Obsługa SQLite 3 dla proxy do Zabbiksa | |
278 | Group: Networking/Utilities | |
279 | Provides: %{name}-proxy(db) = %{version}-%{release} | |
280 | Obsoletes: zabbix-proxy-mysql | |
281 | Obsoletes: zabbix-proxy-postgresql | |
282 | ||
283 | %description proxy-sqlite3 | |
284 | This package provides the Zabbix proxy binary with SQLite 3 support. | |
285 | ||
286 | %description proxy-sqlite3 -l pl.UTF-8 | |
287 | Ten pakiet zawiera proxy Zabbix z obsługą SQLite 3. | |
288 | ||
289 | %package sender | |
290 | Summary: Zabbix sender | |
291 | Summary(pl.UTF-8): Program zawiadamiający Zabbiksa | |
292 | Group: Networking/Utilities | |
293 | ||
294 | %description sender | |
295 | This package provides the Zabbix sender. | |
296 | ||
297 | %description sender -l pl.UTF-8 | |
298 | Ten pakiet zawiera program zawiadamiający Zabbiksa. | |
299 | ||
300 | %package server | |
301 | Summary: Zabbix server | |
302 | Summary(pl.UTF-8): Serwer Zabbiksa | |
303 | Group: Networking/Utilities | |
304 | Requires: %{name}-common = %{version}-%{release} | |
305 | Requires: %{name}-server(db) = %{version}-%{release} | |
306 | Requires: systemd-units >= 38 | |
307 | Obsoletes: zabbix-suckerd | |
308 | Obsoletes: zabbix-trapper-inetd | |
309 | Obsoletes: zabbix-trapper-standalone | |
310 | ||
311 | %description server | |
312 | This package provides the Zabbix server. | |
313 | ||
314 | %description server -l pl.UTF-8 | |
315 | Ten pakiet zawiera serwer Zabbiksa. | |
316 | ||
317 | %package server-mysql | |
318 | Summary: MySQL support for Zabbix server | |
319 | Summary(pl.UTF-8): Obsługa MySQL sla serwera Zabbiksa | |
320 | Group: Networking/Utilities | |
321 | Provides: %{name}-server(db) = %{version}-%{release} | |
322 | Obsoletes: zabbix-server-postgresql | |
323 | Obsoletes: zabbix-server-sqlite3 | |
324 | ||
325 | %description server-mysql | |
326 | This package provides the Zabbix server binary for use with MySQL | |
327 | database. | |
328 | ||
329 | %description server-mysql -l pl.UTF-8 | |
330 | Ten pakiet zawiera serwer Zabbiksa z obsługą bazy danych MySQL. | |
331 | ||
332 | %package server-postgresql | |
333 | Summary: PostgreSQL support for Zabbix server | |
334 | Summary(pl.UTF-8): Obsługa PostgreSQL sla serwera Zabbiksa | |
335 | Group: Networking/Utilities | |
336 | Provides: %{name}-server(db) = %{version}-%{release} | |
337 | Obsoletes: zabbix-server-mysql | |
338 | Obsoletes: zabbix-server-sqlite3 | |
339 | ||
340 | %description server-postgresql | |
341 | This package provides the Zabbix server binary for use with PostgreSQL | |
342 | database. | |
343 | ||
344 | %description server-postgresql -l pl.UTF-8 | |
345 | Ten pakiet zawiera serwer Zabbiksa z obsługą bazy danych PostgreSQL. | |
346 | ||
347 | %package java | |
348 | Summary: Zabbix Java Gateway | |
349 | Group: Networking/Utilities | |
350 | Requires: %{name}-common = %{version}-%{release} | |
351 | Requires: systemd-units >= 38 | |
352 | ||
353 | %description java | |
354 | This package provides the Zabbix Java Gateway. | |
355 | ||
356 | %prep | |
357 | %setup -q -a100 | |
358 | %patch0 -p1 | |
359 | %patch1 -p1 | |
360 | %patch2 -p1 | |
361 | %patch3 -p1 | |
362 | %patch4 -p1 | |
363 | ||
364 | %build | |
365 | %{__libtoolize} | |
366 | %{__aclocal} -I m4 | |
367 | %{__autoconf} | |
368 | %{__autoheader} | |
369 | %{__automake} | |
370 | ||
371 | configure() { | |
372 | %configure \ | |
373 | %{?with_java:ac_cv_prog_JAVAC=%{java_home}/bin/javac} \ | |
374 | %{?with_java:ac_cv_prog_JAR=%{java_home}/bin/jar} \ | |
375 | --enable-dependency-tracking \ | |
376 | --enable-agent \ | |
377 | %{__enable_disable agent2} \ | |
378 | --enable-ipv6 \ | |
379 | %{__enable_disable java} \ | |
380 | --with-ldap \ | |
381 | --with-libcurl \ | |
382 | --with-libevent \ | |
383 | --with-libpcre \ | |
384 | --with-libxml2 \ | |
385 | --with-net-snmp \ | |
386 | --with-openipmi \ | |
387 | --with-openssl \ | |
388 | --with-ssh2 \ | |
389 | --with-unixodbc \ | |
390 | "$@" | |
391 | } | |
392 | ||
393 | configure \ | |
394 | --disable-server \ | |
395 | --disable-proxy | |
396 | ||
397 | %{__make} | |
398 | ||
399 | for database in %{databases} ; do | |
400 | if [ "$database" = "sqlite3" ] ; then | |
401 | enable_server="" | |
402 | else | |
403 | enable_server="--enable-server" | |
404 | fi | |
405 | configure \ | |
406 | --with-$database \ | |
407 | $enable_server \ | |
408 | --enable-proxy | |
409 | ||
410 | %{__make} | |
411 | ||
412 | if [ "$enable_server" ] ; then | |
413 | %{__make} install \ | |
414 | -C src/zabbix_server \ | |
415 | DESTDIR=$PWD/install-${database} | |
416 | fi | |
417 | ||
418 | %{__make} install \ | |
419 | -C src/zabbix_proxy \ | |
420 | DESTDIR=$PWD/install-${database} | |
421 | done | |
422 | ||
423 | %install | |
424 | rm -rf $RPM_BUILD_ROOT | |
425 | install -d \ | |
426 | $RPM_BUILD_ROOT/etc/webapps/%{_webapp} \ | |
427 | $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_appdir}/frontends/php} \ | |
428 | $RPM_BUILD_ROOT{/var/run/zabbix,/var/log/zabbix,%{systemdunitdir},%{systemdtmpfilesdir}} | |
429 | ||
430 | %{__make} install \ | |
431 | DESTDIR=$RPM_BUILD_ROOT \ | |
432 | ZJG_DEST=$RPM_BUILD_ROOT%{_datadir}/zabbix_java | |
433 | ||
434 | for database in %{databases} ; do | |
435 | if [ "$database" != "sqlite3" ] ; then | |
436 | cp -p install-$database/%{_sbindir}/zabbix_server \ | |
437 | $RPM_BUILD_ROOT%{_sbindir}/zabbix_server-$database | |
438 | fi | |
439 | cp -p install-$database/%{_sbindir}/zabbix_proxy \ | |
440 | $RPM_BUILD_ROOT%{_sbindir}/zabbix_proxy-$database | |
441 | done | |
442 | ||
443 | if [ -n "$database" ] ; then | |
444 | ln -sf zabbix_server-$database $RPM_BUILD_ROOT%{_sbindir}/zabbix_server | |
445 | ln -sf zabbix_proxy-$database $RPM_BUILD_ROOT%{_sbindir}/zabbix_proxy | |
446 | fi | |
447 | ||
448 | %if %{with sqlite3} | |
449 | install -d $RPM_BUILD_ROOT/var/lib/zabbix | |
450 | touch $RPM_BUILD_ROOT/var/lib/zabbix/zabbix.db | |
451 | %endif | |
452 | ||
453 | cp -r ui/* $RPM_BUILD_ROOT%{_appdir}/frontends/php | |
454 | ||
455 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf | |
456 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf | |
457 | ||
458 | install %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}/zabbix_server.service | |
459 | install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/zabbix_agentd.service | |
460 | install %{SOURCE9} $RPM_BUILD_ROOT%{systemdunitdir}/zabbix_agent2.service | |
461 | install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/zabbix_agentd | |
462 | install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/zabbix_agent2 | |
463 | install %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/zabbix_proxy.service | |
464 | %{?with_java:install %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/zabbix_java.service} | |
465 | ||
466 | cp -p %{SOURCE6} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/zabbix.conf | |
467 | ||
468 | mv $RPM_BUILD_ROOT%{_appdir}/frontends/php/conf $RPM_BUILD_ROOT%{_sysconfdir}/frontend | |
469 | ln -s --relative $RPM_BUILD_ROOT{%{_sysconfdir}/frontend,%{_appdir}/frontends/php/conf} | |
470 | touch $RPM_BUILD_ROOT%{_sysconfdir}/frontend/zabbix.conf.php | |
471 | ||
472 | %if %{with java} | |
473 | mv $RPM_BUILD_ROOT%{_datadir}/zabbix_java/settings.sh $RPM_BUILD_ROOT%{_sysconfdir}/zabbix_java.conf | |
474 | ln -s --relative $RPM_BUILD_ROOT{%{_sysconfdir}/zabbix_java.conf,%{_datadir}/zabbix_java/settings.sh} | |
475 | mv $RPM_BUILD_ROOT%{_datadir}/zabbix_java/lib/logback.xml $RPM_BUILD_ROOT%{_sysconfdir}/java-logback.xml | |
476 | ln -s --relative $RPM_BUILD_ROOT{%{_sysconfdir}/java-logback.xml,%{_datadir}/zabbix_java/lib/logback.xml} | |
477 | mv $RPM_BUILD_ROOT%{_datadir}/zabbix_java/lib/logback-console.xml $RPM_BUILD_ROOT%{_sysconfdir}/java-logback-console.xml | |
478 | ln -s --relative $RPM_BUILD_ROOT{%{_sysconfdir}/java-logback-console.xml,%{_datadir}/zabbix_java/lib/logback-console.xml} | |
479 | ||
480 | cat >$RPM_BUILD_ROOT%{_sbindir}/zabbix_java-start <<'EOF' | |
481 | #!/bin/sh | |
482 | ||
483 | exec %{_datadir}/zabbix_java/startup.sh "$@" | |
484 | EOF | |
485 | ||
486 | cat >$RPM_BUILD_ROOT%{_sbindir}/zabbix_java-stop <<'EOF' | |
487 | #!/bin/sh | |
488 | ||
489 | exec %{_datadir}/zabbix_java/shutdown.sh "$@" | |
490 | EOF | |
491 | %endif | |
492 | ||
493 | %clean | |
494 | rm -rf $RPM_BUILD_ROOT | |
495 | ||
496 | %triggerin frontend-php -- apache1 < 1.3.37-3, apache1-base | |
497 | %webapp_register apache %{_webapp} | |
498 | ||
499 | %triggerun frontend-php -- apache1 < 1.3.37-3, apache1-base | |
500 | %webapp_unregister apache %{_webapp} | |
501 | ||
502 | %triggerin frontend-php -- apache < 2.2.0, apache-base | |
503 | %webapp_register httpd %{_webapp} | |
504 | ||
505 | %triggerun frontend-php -- apache < 2.2.0, apache-base | |
506 | %webapp_unregister httpd %{_webapp} | |
507 | ||
508 | %triggerpostun agent2 -- zabbix-agent2 < 6.0.15 | |
509 | %systemd_trigger zabbix_agent2.service | |
510 | ||
511 | %pre common | |
512 | %groupadd -g 111 zabbix | |
513 | %useradd -d / -u 111 -g zabbix -c "Zabbix User" -s /bin/false zabbix | |
514 | %addusertogroup -q zabbix proc | |
515 | ||
516 | %postun common | |
517 | if [ "$1" = "0" ]; then | |
518 | %userremove zabbix | |
519 | %groupremove zabbix | |
520 | fi | |
521 | ||
522 | %post server-mysql | |
523 | if [ "$1" = 1 ]; then | |
524 | %banner -e %{name}-server <<-EOF | |
525 | You should create database for Zabbix. | |
526 | ||
527 | Running these should be fine in most cases: | |
528 | mysqladmin create zabbix | |
529 | %doc_cat %{_docdir}/%{name}-server-mysql-%{version}/schema.sql%{doc_suffix} | mysql zabbix | |
530 | %doc_cat %{_docdir}/%{name}-server-mysql-%{version}/images.sql%{doc_suffix} | mysql zabbix | |
531 | %doc_cat %{_docdir}/%{name}-server-mysql-%{version}/data.sql%{doc_suffix} | mysql zabbix | |
532 | EOF | |
533 | fi | |
534 | ln -sf zabbix_server-mysql %{_sbindir}/zabbix_server || : | |
535 | ||
536 | %post server-postgresql | |
537 | if [ "$1" = 1 ]; then | |
538 | %banner -e %{name}-server <<-EOF | |
539 | You should create database for Zabbix. | |
540 | ||
541 | Running these should be fine in most cases: | |
542 | ||
543 | createuser zabbix | |
544 | createdb -O zabbix -E utf8 -T template0 zabbix | |
545 | %doc_cat %{_docdir}/%{name}-server-postgresql-%{version}/schema.sql%{doc_suffix} | psql -U zabbix zabbix | |
546 | %doc_cat %{_docdir}/%{name}-server-postgresql-%{version}/images.sql%{doc_suffix} | psql -U zabbix zabbix | |
547 | %doc_cat %{_docdir}/%{name}-server-postgresql-%{version}/data.sql%{doc_suffix} | psql -U zabbix zabbix | |
548 | EOF | |
549 | fi | |
550 | ln -sf zabbix_server-postgresql %{_sbindir}/zabbix_server || : | |
551 | ||
552 | %post server | |
553 | %systemd_post zabbix_server.service | |
554 | ||
555 | %preun server | |
556 | %systemd_preun zabbix_server.service | |
557 | ||
558 | %postun server | |
559 | if [ "$1" = "0" ]; then | |
560 | if [ -L %{_sbindir}/zabbix_server ] ; then | |
561 | rm -f %{_sbindir}/zabbix_server || : | |
562 | fi | |
563 | fi | |
564 | %systemd_reload | |
565 | ||
566 | %post agentd | |
567 | /sbin/chkconfig --add zabbix_agentd | |
568 | %service zabbix_agentd restart | |
569 | %systemd_post zabbix_agentd.service | |
570 | ||
571 | %preun agentd | |
572 | if [ "$1" = "0" ]; then | |
573 | %service -q zabbix_agentd stop | |
574 | /sbin/chkconfig --del zabbix_agentd | |
575 | fi | |
576 | %systemd_preun zabbix_agentd.service | |
577 | ||
578 | %postun agentd | |
579 | %systemd_reload | |
580 | ||
581 | %post agent2 | |
582 | /sbin/chkconfig --add zabbix_agent2 | |
583 | %service zabbix_agent2 restart | |
584 | %systemd_post zabbix_agent2.service | |
585 | ||
586 | %preun agent2 | |
587 | if [ "$1" = "0" ]; then | |
588 | %service -q zabbix_agent2 stop | |
589 | /sbin/chkconfig --del zabbix_agent2 | |
590 | fi | |
591 | %systemd_preun zabbix_agent2.service | |
592 | ||
593 | %post proxy-mysql | |
594 | ln -sf zabbix_proxy-mysql %{_sbindir}/zabbix_proxy || : | |
595 | ||
596 | %post proxy-postgresql | |
597 | ln -sf zabbix_proxy-postgresql %{_sbindir}/zabbix_proxy || : | |
598 | ||
599 | %post proxy-sqlite3 | |
600 | ln -sf zabbix_proxy-sqlite3 %{_sbindir}/zabbix_proxy || : | |
601 | ||
602 | %post proxy | |
603 | %systemd_post zabbix_proxy.service | |
604 | ||
605 | %preun proxy | |
606 | %systemd_preun zabbix_proxy.service | |
607 | ||
608 | %postun proxy | |
609 | %systemd_reload | |
610 | ||
611 | %post java | |
612 | %systemd_post zabbix_java.service | |
613 | ||
614 | %preun java | |
615 | %systemd_preun zabbix_java.service | |
616 | ||
617 | %postun java | |
618 | %systemd_reload | |
619 | ||
620 | %files | |
621 | %defattr(644,root,root,755) | |
622 | %doc AUTHORS ChangeLog README | |
623 | ||
624 | %files common | |
625 | %defattr(644,root,root,755) | |
626 | %doc AUTHORS ChangeLog README | |
627 | %attr(751,root,zabbix) %dir %{_sysconfdir} | |
628 | %attr(751,root,http) %dir %{_sysconfdir}/frontend | |
629 | %dir %{_appdir} | |
630 | %dir %{_appdir}/frontends | |
631 | %dir %attr(770,root,zabbix) /var/run/zabbix | |
632 | %dir %attr(775,root,zabbix) /var/log/zabbix | |
633 | %{systemdtmpfilesdir}/zabbix.conf | |
634 | ||
635 | %files agentd | |
636 | %defattr(644,root,root,755) | |
637 | %doc conf/zabbix_agentd/*.conf | |
638 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agentd.conf | |
639 | %dir %attr(751,root,zabbix) %{_sysconfdir}/zabbix_agentd.conf.d | |
640 | %attr(754,root,root) /etc/rc.d/init.d/zabbix_agentd | |
641 | %attr(755,root,root) %{_sbindir}/zabbix_agentd | |
642 | %{_mandir}/man8/zabbix_agentd* | |
643 | %{systemdunitdir}/zabbix_agentd.service | |
644 | ||
645 | %if %{with agent2} | |
646 | %files agent2 | |
647 | %defattr(644,root,root,755) | |
648 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agent2.conf | |
649 | %dir %attr(751,root,zabbix) %{_sysconfdir}/zabbix_agent2.d | |
650 | %dir %attr(751,root,zabbix) %{_sysconfdir}/zabbix_agent2.d/plugins.d | |
651 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_agent2.d/plugins.d/*.conf | |
652 | %attr(754,root,root) /etc/rc.d/init.d/zabbix_agent2 | |
653 | %attr(755,root,root) %{_sbindir}/zabbix_agent2 | |
654 | %{_mandir}/man8/zabbix_agent2.8* | |
655 | %{systemdunitdir}/zabbix_agent2.service | |
656 | %endif | |
657 | ||
658 | %files frontend-php | |
659 | %defattr(644,root,root,755) | |
660 | %attr(750,root,http) %dir %{_webapps}/%{_webapp} | |
661 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf | |
662 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf | |
663 | %ghost %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/frontend/zabbix.conf.php | |
664 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/frontend/.htaccess | |
665 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/frontend/maintenance.inc.php | |
666 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/frontend/zabbix.conf.php.example | |
667 | %{_appdir}/frontends/php | |
668 | ||
669 | %files get | |
670 | %defattr(644,root,root,755) | |
671 | %attr(755,root,root) %{_bindir}/zabbix_get | |
672 | %{_mandir}/man1/zabbix_get* | |
673 | ||
674 | %if %{any_database} | |
675 | %files proxy | |
676 | %defattr(644,root,root,755) | |
677 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_proxy.conf | |
678 | %dir %attr(751,root,zabbix) %{_sysconfdir}/zabbix_proxy.conf.d | |
679 | %ghost %{_sbindir}/zabbix_proxy | |
680 | %{_mandir}/man8/zabbix_proxy* | |
681 | %{systemdunitdir}/zabbix_proxy.service | |
682 | %endif | |
683 | ||
684 | %if %{with mysql} | |
685 | %files proxy-mysql | |
686 | %defattr(644,root,root,755) | |
687 | %attr(755,root,root) %{_sbindir}/zabbix_proxy-mysql | |
688 | %endif | |
689 | ||
690 | %if %{with pgsql} | |
691 | %files proxy-postgresql | |
692 | %defattr(644,root,root,755) | |
693 | %attr(755,root,root) %{_sbindir}/zabbix_proxy-postgresql | |
694 | %endif | |
695 | ||
696 | %if %{with sqlite3} | |
697 | %files proxy-sqlite3 | |
698 | %defattr(644,root,root,755) | |
699 | %attr(755,root,root) %{_sbindir}/zabbix_proxy-sqlite3 | |
700 | %endif | |
701 | ||
702 | %files sender | |
703 | %defattr(644,root,root,755) | |
704 | %attr(755,root,root) %{_bindir}/zabbix_sender | |
705 | %{_mandir}/man1/zabbix_sender* | |
706 | ||
707 | %if %{any_database} | |
708 | %files server | |
709 | %defattr(644,root,root,755) | |
710 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_server.conf | |
711 | %dir %attr(751,root,zabbix) %{_sysconfdir}/zabbix_server.conf.d | |
712 | %ghost %{_sbindir}/zabbix_server | |
713 | %{_mandir}/man8/zabbix_server* | |
714 | %{systemdunitdir}/zabbix_server.service | |
715 | %endif | |
716 | ||
717 | %if %{with mysql} | |
718 | %files server-mysql | |
719 | %defattr(644,root,root,755) | |
720 | %doc database/mysql/*.sql | |
721 | %attr(755,root,root) %{_sbindir}/zabbix_server-mysql | |
722 | %endif | |
723 | ||
724 | %if %{with pgsql} | |
725 | %files server-postgresql | |
726 | %defattr(644,root,root,755) | |
727 | %doc database/postgresql/*.sql | |
728 | %attr(755,root,root) %{_sbindir}/zabbix_server-postgresql | |
729 | %endif | |
730 | ||
731 | %if %{with java} | |
732 | %files java | |
733 | %defattr(644,root,root,755) | |
734 | %attr(755,root,root) %{_sbindir}/zabbix_java-start | |
735 | %attr(755,root,root) %{_sbindir}/zabbix_java-stop | |
736 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/zabbix_java.conf | |
737 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/java-logback.xml | |
738 | %attr(640,root,zabbix) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/java-logback-console.xml | |
739 | %dir %{_datadir}/zabbix_java | |
740 | %{_datadir}/zabbix_java/bin | |
741 | %{_datadir}/zabbix_java/lib | |
742 | %{_datadir}/zabbix_java/settings.sh | |
743 | %attr(755,root,root) %{_datadir}/zabbix_java/shutdown.sh | |
744 | %attr(755,root,root) %{_datadir}/zabbix_java/startup.sh | |
745 | %{systemdunitdir}/zabbix_java.service | |
746 | %endif |