forked from pool/zabbix
551a7ff4c7
- update to latest release 6.0.27 - replaced zabbix-agentd.firewall zabbix-java-gateway.firewall zabbix-proxy.firewall zabbix-server.firewall with firewalld xml definitions zabbix-agentd.xml zabbix-java-gateway.xml zabbix-proxy.xml zabbix-server.xml - New Features and Improvements + ZBXNEXT-8983 Updated max supported MariaDB version to 11.2 + ZBXNEXT-8984 Updated max supported MySQL version to 8.3 + ZBXNEXT-8762 Added YugabyteDB by HTTP and YugabyteDB Cluster by HTTP templates + ZBXNEXT-8891 Updated max supported MySQL version to 8.2 + ZBXNEXT-8524 Added support for HTTP proxy in GCP templates + ZBXNEXT-8759 Added dashboards in Azure templates + ZBXNEXT-8580 Added new discovery rules, refactored discovery rules to dependent items and made few minor changes in MSSQL by ODBC template + ZBXNEXT-8730 Added Azure Cost Management by HTTP template -Bug Fixes + ZBX-23124 Fixed items with disabled history being sometimes stuck in non-supported state + ZBX-23586 Fixed filter evaluation type of organizations discovery in Cisco Meraki dashboard by HTTP template + ZBX-23766 Updated Zabbix agent 2 Ceph plugin readme setup instructions + ZBX-24094 Fixed network interfaces LLD filtering macro in Linux by Prom template + ZBX-23202 Fixed unused tag value being saved in tag filter + ZBX-22555 Updated regexp to case insensitive in Nginx templates + ZBX-23973 Fixed trends being retrieved from database for new items and for items with infrequent update interval + ZBX-22745 Removed incorrect description of network interfaces administrative status filter macro in SNMP templates + ZBX-24015 Improved zabbix[queue] internal item not to block history syncers and pollers + ZBX-23509 Fixed JSONPath of Keyspace discovery master item in Redis by Zabbix agent 2 template + ZBX-24059 Fixed libmodbus unnecessary linking into all binaries + ZBX-24055 Added missing API port macros in URL of script items in HPE Synergy by HTTP and HPE Primera by HTTP templates + ZBX-20525 Fixed vfs.dir.size performance issues when walking through directory that has a lot of subdirs/files + ZBX-23773 Improved trigger functionality for Acronis Cyber Protect Cloud MSP by HTTP template + ZBX-23979 Improved trend recalculation performance by performing trend updates in own transaction + ZBX-23688 Improved new item value retrieval performance by adding such items to value cache after configuration sync + ZBX-22130 Changed JSONPath expression evaluator to treat null values as empty variants + ZBX-23986 Added a license to the Go module + ZBX-23587 Fixed widget input field selecting when clicking on label + ZBX-23640 Fixed preload hints opening + ZBX-22433 Fixed web scenario and web scenario step configuration field trimming and field sorting + ZBX-23684 Fixed transactions query file for PostgreSQL by Zabbix agent template + ZBX-22371 Fixed process tags option not adding tags for service events + ZBX-17208 Fixed invalid command-line flag handling in Zabbix agent 2 + ZBX-23937 Fixed JavaScript for AWS EC2 instances discovery + ZBX-22715 Fixed map shape dimension changes on resizing in scaled browser mode + ZBX-23722 Added garbage collection after executing JavaScript code + ZBX-23740 Fixed netsnmp persistent state disabling without affecting its configuration + ZBX-23257 Fixed log items not using MaxLinesPerSecond setting correctly for Zabbix agent 2 + ZBX-23890 Removed non-existing headers from compiler checks: mtent.h and knlist.h + ZBX-23912 Removed Jira with CustomFields media type in data.tmpl + ZBX-23761 Fixed JavaScript in Jira media type + ZBX-22558 Fixed trigger expression for retrieval of stub page in Nginx templates + ZBX-23691 Fixed LLD filters evaluation type for devices discovery in Cisco SD-WAN by HTTP template + ZBX-23540 Added error checks for RegisterMetrics calls + ZBX-23605 Removed getting location buckets in AWS by HTTP template added discovery filters for request metrics in AWS S3 bucket by HTTP template + ZBX-23466 Fixed data aggregation errors in Graphs and Top hosts widgets with Elasticsearch backend + ZBX-23835 Updated Meraki templates + ZBX-23723 Fixed proxy params in JavaScript AWS templates + ZBX-23733 Fixed error when downloading graph as .png image if item name contains multibyte characters + ZBX-22983 Fixed ellipsed dropdown options in items mass update in preprocessing + ZBX-23715 Fixed persistent directory path not following symlinks upon creation + ZBX-23825 Fixed query_fields values for Acronis and Nomand templates + ZBX-22055 Fixed map image of map widget not being updated when pressing Apply button + ZBX-23629 Fixed interface icon cursor to pointer + ZBX-22536 Fixed TimescaleDB compression detection for history.clear API method and proper error appearance in frontend + ZBX-23145 Disabled deprecated automatic reconnection in MySQL + ZBX-22933 Improved vfs.file.regmatch and vfs.file.regexp items to use buffered file read + ZBX-23439 Fixed sorting of numeric items with/without aggregation enabled in Top hosts widget + ZBX-21973 Changed deprecated X-Frame option allow-from to Content-Security-Policy frame-ancestors + ZBX-23633 Fixed service alarms to be recovered with problem time in case of negative problem duration + ZBX-23738 Fixed Zabbix backend sources for libxml2 2.12.0 version changes + ZBX-23746 Fixed creation of tickets during escalation for Zammad media type + ZBX-23561 Fixed spacing between filter and results table + ZBX-18873 Fixed disabled chevrons color in problem view + ZBX-23636 Fixed some fields in Administration section not being trimmed on form submit - Use %autosetup macro. Allows to eliminate the usage of deprecated %patchN. - add group provides needed by RPM 4.19 OBS-URL: https://build.opensuse.org/request/show/1160699 OBS-URL: https://build.opensuse.org/package/show/server:monitoring:zabbix/zabbix?expand=0&rev=53
676 lines
25 KiB
RPMSpec
676 lines
25 KiB
RPMSpec
#
|
|
# spec file for package zabbix
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define server_user zabbixs
|
|
%define server_group zabbixs
|
|
%define agent_user zabbix
|
|
%define agent_group zabbix
|
|
|
|
Name: zabbix
|
|
Version: 6.0.27
|
|
Release: 0
|
|
Summary: Distributed monitoring system
|
|
License: GPL-2.0-or-later
|
|
Group: System/Monitoring
|
|
URL: https://www.zabbix.com
|
|
Source0: https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-%{version}.tar.gz
|
|
Source1: rn6.0.0.html
|
|
Source2: zabbix-tmpfiles.conf
|
|
Source3: zabbix-java-gateway.sh
|
|
Source4: zabbix-logrotate.in
|
|
Source5: apache2-zabbix.conf
|
|
Source6: README.SUSE
|
|
Source7: zabbix-server.xml
|
|
Source8: zabbix-agentd.xml
|
|
Source9: zabbix-proxy.xml
|
|
Source10: zabbix-java-gateway.xml
|
|
Source11: zabbix-proxy.service
|
|
Source12: zabbix-agentd.service
|
|
Source13: zabbix-server.service
|
|
Source14: zabbix-java-gateway.service
|
|
Source15: README-SSL.SUSE
|
|
Source16: system-user-zabbix.conf
|
|
# PATCH-FIX-OPENSUSE zabbix-6.0.12-netsnmp-fixes.patch fix for removed md5 auth protocol
|
|
Patch3: zabbix-6.0.12-netsnmp-fixes.patch
|
|
BuildRequires: apache-rpm-macros
|
|
BuildRequires: apache2-devel
|
|
BuildRequires: autoconf
|
|
BuildRequires: automake
|
|
BuildRequires: fdupes
|
|
BuildRequires: firewall-macros
|
|
BuildRequires: gcc
|
|
BuildRequires: java-devel >= 1.6
|
|
BuildRequires: libmysqlclient-devel
|
|
BuildRequires: libtool
|
|
BuildRequires: logrotate
|
|
BuildRequires: net-snmp-devel
|
|
BuildRequires: openldap2-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: systemd-rpm-macros
|
|
BuildRequires: sysuser-tools
|
|
BuildRequires: unixODBC-devel
|
|
BuildRequires: update-alternatives
|
|
BuildRequires: pkgconfig(OpenIPMI)
|
|
BuildRequires: pkgconfig(libcurl)
|
|
BuildRequires: pkgconfig(libevent)
|
|
BuildRequires: pkgconfig(libpcre)
|
|
BuildRequires: pkgconfig(libpq)
|
|
BuildRequires: pkgconfig(libssh2)
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
BuildRequires: pkgconfig(openssl)
|
|
BuildRequires: pkgconfig(sqlite3)
|
|
BuildRequires: pkgconfig(zlib)
|
|
%sysusers_requires
|
|
|
|
%{?systemd_requires}
|
|
%if 0%{?suse_version} >= 1600 || 0%{?sle_version} > 150100
|
|
BuildRequires: postgresql-server-devel
|
|
%endif
|
|
|
|
%description
|
|
Zabbix is a distributed monitoring system.
|
|
|
|
Zabbix is software that monitors numerous parameters of a network and the
|
|
health and integrity of servers. Zabbix uses a flexible notification mechanism
|
|
that allows users to configure e-mail based alerts for virtually any event.
|
|
This allows a fast reaction to server problems. Zabbix offers excellent
|
|
reporting and data visualisation features based on the stored data. This makes
|
|
Zabbix ideal for capacity planning.
|
|
|
|
Zabbix supports both polling and trapping. All Zabbix reports and statistics,
|
|
as well as configuration parameters, are accessed through a web-based frontend.
|
|
A web-based frontend ensures that the status of your network and the health of
|
|
your servers can be assessed from any location. Properly configured, Zabbix can
|
|
play an important role in monitoring IT infrastructure. This is equally true
|
|
for small organisations with a few servers and for large companies with a
|
|
multitude of servers.
|
|
|
|
%package agent
|
|
Summary: Local resource monitor agent for Zabbix
|
|
Group: System/Monitoring
|
|
Requires: logrotate
|
|
Requires(pre): %fillup_prereq
|
|
Requires(pre): shadow
|
|
Requires: update-alternatives
|
|
Requires: group(%{agent_group})
|
|
Requires: user(%{agent_user})
|
|
Conflicts: zabbix-agent
|
|
|
|
%description agent
|
|
The Zabbix agent monitors local resources and relays information to the server.
|
|
|
|
%package server
|
|
Summary: System files for the Zabbix server
|
|
Group: System/Monitoring
|
|
Requires: fping
|
|
Requires: logrotate
|
|
Requires: update-alternatives
|
|
Requires: zabbix_server_binary = %{version}-%{release}
|
|
Requires(pre): %fillup_prereq
|
|
Requires(pre): shadow
|
|
Requires: group(%{server_group})
|
|
Requires: user(%{server_user})
|
|
Conflicts: zabbix-server
|
|
|
|
%description server
|
|
The Zabbix server component.
|
|
|
|
%package proxy
|
|
Summary: System files for the Zabbix proxy
|
|
Group: System/Monitoring
|
|
Requires: fping
|
|
Requires: logrotate
|
|
Requires: update-alternatives
|
|
Requires: zabbix_proxy_binary = %{version}-%{release}
|
|
Requires(pre): %fillup_prereq
|
|
Requires(pre): shadow
|
|
Requires: group(%{server_group})
|
|
Requires: user(%{server_user})
|
|
Conflicts: zabbix-proxy
|
|
|
|
%description proxy
|
|
The Zabbix proxy component.
|
|
|
|
%package ui
|
|
Summary: Zabbix web frontend (php)
|
|
Group: Productivity/Networking/Web/Frontends
|
|
Requires: apache2
|
|
Requires: php8
|
|
Requires: php8-bcmath
|
|
Requires: php8-ctype
|
|
Requires: php8-gd
|
|
Requires: php8-gettext
|
|
Requires: php8-ldap
|
|
Requires: php8-mbstring
|
|
Requires: php8-sockets
|
|
Requires: php8-xmlreader
|
|
Requires: php8-xmlwriter
|
|
Suggests: php8-mysqli
|
|
Suggests: php8-pgsql
|
|
Conflicts: zabbix-phpfrontend
|
|
Provides: zabbix-phpfrontend
|
|
Obsoletes: zabbix-phpfrontend < 6.0.0
|
|
BuildArch: noarch
|
|
|
|
%description ui
|
|
The Zabbix PHP frontend allows access via standard web browsers.
|
|
|
|
NOTE: You still have to install the PHP package which contains your db driver!
|
|
|
|
%package server-mysql
|
|
Summary: Zabbix server with MySQL support
|
|
Group: System/Monitoring
|
|
Requires: %{name}-server = %{version}-%{release}
|
|
Requires: mariadb
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
Conflicts: zabbix-server-mysql
|
|
Provides: %{name} = %{version}-%{release}
|
|
Provides: zabbix_server_binary = %{version}-%{release}
|
|
|
|
%description server-mysql
|
|
The Zabbix server compiled with MySQL support.
|
|
|
|
%package server-postgresql
|
|
Summary: Zabbix server with PostgreSQL support
|
|
Group: System/Monitoring
|
|
Requires: %{name}-server = %{version}-%{release}
|
|
Requires: postgresql
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
Conflicts: zabbix-server-postgresql
|
|
Provides: %{name} = %{version}-%{release}
|
|
Provides: zabbix_server_binary = %{version}-%{release}
|
|
|
|
%description server-postgresql
|
|
The Zabbix server compiled with PostgreSQL support.
|
|
|
|
%package proxy-mysql
|
|
Summary: Zabbix proxy with MySQL support
|
|
Group: System/Monitoring
|
|
Requires: %{name}-proxy = %{version}-%{release}
|
|
Requires: mariadb
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
Conflicts: zabbix-proxy-mysql
|
|
Provides: %{name} = %{version}-%{release}
|
|
Provides: zabbix_proxy_binary = %{version}-%{release}
|
|
|
|
%description proxy-mysql
|
|
The Zabbix proxy compiled with MySQL support.
|
|
|
|
%package proxy-postgresql
|
|
Summary: Zabbix proxy with PostgreSQL support
|
|
Group: System/Monitoring
|
|
Requires: %{name}-proxy = %{version}-%{release}
|
|
Requires: postgresql
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
Conflicts: zabbix-proxy-postgresql
|
|
Provides: %{name} = %{version}-%{release}
|
|
Provides: zabbix_proxy_binary = %{version}-%{release}
|
|
|
|
%description proxy-postgresql
|
|
The Zabbix proxy compiled with PostgreSQL support.
|
|
|
|
%package proxy-sqlite
|
|
Summary: Zabbix proxy with SQLite support
|
|
Group: System/Monitoring
|
|
Requires: %{name}-proxy = %{version}-%{release}
|
|
Requires(post): update-alternatives
|
|
Requires(postun): update-alternatives
|
|
Conflicts: zabbix-proxy-sqlite
|
|
Provides: %{name} = %{version}-%{release}
|
|
Provides: zabbix_proxy_binary = %{version}-%{release}
|
|
|
|
%description proxy-sqlite
|
|
The Zabbix proxy compiled with SQLite support.
|
|
|
|
%package java-gateway
|
|
Summary: Zabbix Java gateway
|
|
Group: System/Monitoring
|
|
Requires: jre
|
|
Requires(pre): shadow
|
|
Conflicts: zabbix-java-gateway
|
|
Provides: %{name} = %{version}-%{release}
|
|
Requires: group(%{server_group})
|
|
Requires: user(%{server_user})
|
|
BuildArch: noarch
|
|
|
|
%description java-gateway
|
|
JMX monitoring can be used to monitor JMX counters of a Java
|
|
application. To retrieve the value of a particular JMX counter on a
|
|
host, the Zabbix server queries the Zabbix Java gateway, which in
|
|
turn uses the JMX management API to query the application of interest
|
|
remotely.
|
|
|
|
%package -n system-user-zabbix
|
|
Summary: Users and groups
|
|
Group: System
|
|
Requires(pre): pwdutils
|
|
Provides: group(%{agent_group})
|
|
Provides: group(%{server_group})
|
|
Provides: user(%{agent_user})
|
|
Provides: user(%{server_user})%define server_user zabbixs
|
|
BuildArch: noarch
|
|
|
|
%description -n system-user-zabbix
|
|
Zabbix users and groups required by zabbix packages
|
|
|
|
%prep
|
|
%autosetup -p0 -n zabbix-%{version}
|
|
|
|
cp %{SOURCE6} .
|
|
# fix source & config files to respect adapted names
|
|
for file in src/zabbix_java/settings.sh src/zabbix_java/lib/logback.xml %{SOURCE3} conf/*.conf misc/init.d/suse/*/zabbix_* src/zabbix_server/server.c \
|
|
src/zabbix_server/alerter/alerter.c src/zabbix_agent/zbxconf.c src/zabbix_agent/zabbix_agentd.c src/zabbix_proxy/proxy.c ChangeLog; do
|
|
sed -i -e "s@/home/zabbix/bin@%{_bindir}@g" \
|
|
-e "s@^[# ]*PidFile=/tmp/zabbix_@PidFile=%{_rundir}/%{agent_user}/zabbix_@g" \
|
|
-e "s@^[# ]*LogFile=/tmp/zabbix_@LogFile=%{_localstatedir}/log/%{agent_user}/zabbix_@g" \
|
|
-e "s@^[# ]*DBSocket=/tmp/mysql.sock@DBSocket=%{_rundir}/mysql/mysql.sock@g" \
|
|
-e "s@^[# ]*SocketDir=/tmp@SocketDir=%{_rundir}/%{agent_user}@g" \
|
|
-e "s@DBUser=root@DBUser=zabbix@g" \
|
|
-e "s@^[# ]*DBPassword=.*@DBPassword=zabbix@g" \
|
|
-e "s@Hostname=Zabbix Server@Hostname=Zabbix_Server@" \
|
|
-e "s@GW_PID:=%{_localstatedir}/run/zabbix/zabbix-java-gateway.pid@GW_PID:=%{_rundir}/%{server_user}/zabbix-java-gateway.pid@g" \
|
|
-e "s@GW_LOGFILE:=%{_localstatedir}/log/zabbix/zabbix-java-gateway.log@GW_LOGFILE:=%{_localstatedir}/log/%{server_user}/zabbix-java-gateway.log@g" $file
|
|
done
|
|
|
|
# fix server, java and proxy (again) config for log and run location...
|
|
for file in src/zabbix_java/settings.sh conf/zabbix_proxy.conf conf/zabbix_server.conf ; do
|
|
sed -i -e "s#^[# ]*LogFile=%{_localstatedir}/log/.*/zabbix_#LogFile=%{_localstatedir}/log/%{server_user}/zabbix_#g" \
|
|
-e "s#^[# ]*PidFile=%{_rundir}/.*/zabbix_#PidFile=%{_rundir}/%{server_user}/zabbix_#g" \
|
|
-e "s#^[# ]*SocketDir=%{_rundir}/%{agent_user}#SocketDir=%{_rundir}/%{server_user}#g" \
|
|
-e 's#PID_FILE="%{_rundir}/.*/zabbix_#PID_FILE="%{_rundir}/%{server_user}/zabbix_#g' $file
|
|
done
|
|
|
|
# fix db content to respect adapted names and suse naming conventions
|
|
for file in database/*/data.sql; do
|
|
sed -i -e "s#syslogd#syslog-ng#g" \
|
|
-e "s#Syslogd#Syslog-ng#g" \
|
|
-e "s#httpd#httpd2-prefork#g" $file
|
|
done
|
|
##### Fix for date time macros
|
|
REF_DATE=$(LANG=C date -r configure +"%%b %%d %%Y")
|
|
REF_TIME=$(LANG=C date -r configure +"%%H:%%M:%%S")
|
|
sed -i -e "s/__DATE__/\"${REF_DATE}\"/g" -e "s/__TIME__/\"${REF_TIME}\"/g" src/libs/zbxcommon/str.c
|
|
#####
|
|
##### Fix location of zabbix java gateway location
|
|
sed -ri 's@^(ZABBIX_JAVA_CONF=.\{ZABBIX_JAVA_CONF:=).*@\1%{_sysconfdir}/zabbix/zabbix-java-gateway.conf}@g' %{SOURCE3}
|
|
|
|
# Remove prebuilt Windows binaries
|
|
rm -rf bin
|
|
|
|
#make separate directories for each config
|
|
cd ..
|
|
cp -r zabbix-%{version} zabbix-%{version}-postgresql
|
|
cp -r zabbix-%{version} zabbix-%{version}-sqlite
|
|
cd -
|
|
|
|
%build
|
|
%sysusers_generate_pre %{SOURCE1} zabbix system-user-zabbix.conf
|
|
ZABBIX_BASIC_CONFIG="--enable-proxy --enable-server --enable-agent --sysconfdir=%{_sysconfdir}/zabbix \
|
|
--with-openipmi --enable-java --enable-ipv6 --with-ssh2 --with-ldap --with-unixodbc \
|
|
--with-libcurl --with-net-snmp --with-libxml2 --with-openssl --with-libpcre --with-libevent"
|
|
|
|
# configure MySQL repo (here)
|
|
autoreconf -fvi
|
|
%configure $ZABBIX_BASIC_CONFIG --with-mysql --without-postgresql --without-sqlite3
|
|
%make_build
|
|
|
|
# configure PostgreSQL repo
|
|
cd ../zabbix-%{version}-postgresql
|
|
autoreconf -fvi
|
|
%configure $ZABBIX_BASIC_CONFIG --with-postgresql --without-mysql --without-sqlite3
|
|
%make_build
|
|
cd -
|
|
|
|
# configure SQLite repo
|
|
cd ../zabbix-%{version}-sqlite
|
|
autoreconf -fvi
|
|
%configure $ZABBIX_BASIC_CONFIG --disable-server --enable-proxy --with-sqlite3 --without-postgresql --without-mysql
|
|
%make_build
|
|
cd -
|
|
|
|
%install
|
|
install -D -m 0644 %{SOURCE1} %{buildroot}%{_sysusersdir}/system-user-zabbix.conf
|
|
# install the binaries
|
|
|
|
%make_install -C ../zabbix-%{version}-sqlite
|
|
mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-sqlite
|
|
|
|
%make_install -C ../zabbix-%{version}-postgresql
|
|
mv %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server-postgresql
|
|
mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-postgresql
|
|
|
|
%make_install
|
|
mv %{buildroot}%{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix_server-mysql
|
|
mv %{buildroot}%{_sbindir}/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy-mysql
|
|
|
|
mv %{buildroot}%{_bindir}/zabbix_sender %{buildroot}%{_sbindir}/zabbix_sender
|
|
|
|
# create directory structure
|
|
install -d %{buildroot}%{_localstatedir}/log/%{server_user}
|
|
install -d %{buildroot}%{_localstatedir}/log/%{agent_user}
|
|
|
|
# move java gateway files
|
|
mkdir -p %{buildroot}/%{_prefix}/lib/zabbix-java-gateway
|
|
mv %{buildroot}%{_sbindir}/zabbix_java/lib/*.jar %{buildroot}%{_prefix}/lib/zabbix-java-gateway
|
|
mv %{buildroot}%{_sbindir}/zabbix_java/bin/*.jar %{buildroot}%{_prefix}/lib/zabbix-java-gateway
|
|
mv %{buildroot}%{_sbindir}/zabbix_java/settings.sh %{buildroot}%{_sysconfdir}/zabbix/zabbix-java-gateway.conf
|
|
mv %{buildroot}%{_sbindir}/zabbix_java/lib/logback.xml %{buildroot}%{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml
|
|
install -m 0755 %{SOURCE3} %{buildroot}%{_bindir}/zabbix-java-gateway
|
|
# we do not need the rest
|
|
rm -r %{buildroot}%{_sbindir}/zabbix_java
|
|
|
|
# install the php frontend
|
|
mkdir -p %{buildroot}%{_datadir}/zabbix
|
|
cp -r ui/* %{buildroot}%{_datadir}/zabbix
|
|
install -Dm 0644 %{SOURCE5} %{buildroot}%{apache_sysconfdir}/conf.d/zabbix.conf
|
|
# remove .htaccess files as access rules are moved to zabbix.conf
|
|
find %{buildroot}%{_datadir}/zabbix -name .htaccess -exec rm -v {} \;
|
|
|
|
# Install log rotation
|
|
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
|
sed -e 's|COMPONENT|agentd|g; s|USER|zabbix|g' %{SOURCE4} > \
|
|
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}-agent
|
|
sed -e 's|COMPONENT|server|g; s|USER|zabbixs|g' %{SOURCE4} > \
|
|
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}-server
|
|
sed -e 's|COMPONENT|proxy|g; s|USER|zabbixs|g' %{SOURCE4} > \
|
|
%{buildroot}%{_sysconfdir}/logrotate.d/%{name}-proxy
|
|
|
|
%fdupes %{buildroot}
|
|
|
|
# install firewalld service files
|
|
install -Dm 0644 %{SOURCE7} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-server.xml
|
|
install -Dm 0644 %{SOURCE8} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-agentd.xml
|
|
install -Dm 0644 %{SOURCE9} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-proxy.xml
|
|
install -Dm 0644 %{SOURCE10} %{buildroot}%{_prefix}/lib/firewalld/services/zabbix-java-gateway.xml
|
|
# install systemd unit files
|
|
install -Dm 0644 %{SOURCE11} %{buildroot}%{_unitdir}/zabbix_proxy.service
|
|
install -Dm 0644 %{SOURCE12} %{buildroot}%{_unitdir}/zabbix_agentd.service
|
|
install -Dm 0644 %{SOURCE13} %{buildroot}%{_unitdir}/zabbix_server.service
|
|
install -Dm 0644 %{SOURCE14} %{buildroot}%{_unitdir}/zabbix-java-gateway.service
|
|
install -dm 0755 %{buildroot}/%{_unitdir}/zabbix_server.service.requires
|
|
install -dm 0755 %{buildroot}/%{_unitdir}/zabbix_proxy.service.requires
|
|
|
|
# set the rc sym links
|
|
ln -s service %{buildroot}%{_sbindir}/rczabbix_agentd
|
|
ln -s service %{buildroot}%{_sbindir}/rczabbix_server
|
|
ln -s service %{buildroot}%{_sbindir}/rczabbix_proxy
|
|
ln -s service %{buildroot}%{_sbindir}/rczabbix-java-gateway
|
|
|
|
# this stupidity is required because i do not wanna create separate zabbix-common
|
|
# in case i ever do it will put it under one scope...
|
|
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_agentd.conf
|
|
# here I suppose server_user==server_group (and agent_user==agent_group, which is for compatibility reasons)
|
|
sed -i 's@%{agent_user}@%{server_user}@g' %{SOURCE2}
|
|
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_server.conf
|
|
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix_proxy.conf
|
|
install -Dm 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/zabbix-java-gateway.conf
|
|
###################################################################################
|
|
|
|
# update-alternatives
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/alternatives
|
|
touch -r /bin/true %{buildroot}%{_sysconfdir}/alternatives/zabbix_server
|
|
touch -r /bin/true %{buildroot}%{_sysconfdir}/alternatives/zabbix_proxy
|
|
ln -s %{_sysconfdir}/alternatives/zabbix_server %{buildroot}%{_sbindir}/zabbix_server
|
|
ln -s %{_sysconfdir}/alternatives/zabbix_proxy %{buildroot}%{_sbindir}/zabbix_proxy
|
|
|
|
# set links zabbix-* -> zabbix_* (to avoid confusion among users)
|
|
ln -s %{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix-server
|
|
ln -s %{_sbindir}/zabbix_server %{buildroot}%{_sbindir}/zabbix-proxy
|
|
ln -s %{_sbindir}/zabbix_agentd %{buildroot}%{_sbindir}/zabbix-agentd
|
|
ln -s %{_sbindir}/zabbix_sender %{buildroot}%{_sbindir}/zabbix-sender
|
|
ln -s %{_bindir}/zabbix_get %{buildroot}%{_bindir}/zabbix-get
|
|
|
|
# Remove Makefiles from database directories so they don't get picked up by %%doc
|
|
rm database/*/Makefile*
|
|
|
|
# Release Notes - what has changed against Zabbix 3.x
|
|
cp %{SOURCE1} .
|
|
|
|
# SSL README
|
|
cp %{SOURCE15} .
|
|
|
|
%pre server
|
|
# Server daemon
|
|
%service_add_pre zabbix_server.service
|
|
|
|
%pre proxy
|
|
# Proxy daemon
|
|
%service_add_pre zabbix_proxy.service
|
|
|
|
%pre agent
|
|
# Agent daemon
|
|
%service_add_pre zabbix_agentd.service
|
|
|
|
%pre java-gateway
|
|
# Java daemon
|
|
%service_add_pre zabbix-java-gateway.service
|
|
|
|
%pre -n system-user-zabbix -f zabbix.pre
|
|
|
|
%post server
|
|
%firewalld_reload
|
|
%service_add_post zabbix_server.service
|
|
%tmpfiles_create %{_tmpfilesdir}/zabbix_server.conf
|
|
echo "Please read %{_docdir}/%{name}-server/README-SSL.SUSE to set up SSL on Zabbix server."
|
|
|
|
%post proxy
|
|
%firewalld_reload
|
|
%service_add_post zabbix_proxy.service
|
|
%tmpfiles_create %{_tmpfilesdir}/zabbix_proxy.conf
|
|
echo "Please read %{_docdir}/%{name}-proxy/README-SSL.SUSE to set up SSL on Zabbix proxy."
|
|
|
|
%post java-gateway
|
|
%firewalld_reload
|
|
%service_add_post zabbix-java-gateway.service
|
|
%tmpfiles_create %{_tmpfilesdir}/zabbix-java-gateway.conf
|
|
|
|
%post agent
|
|
%firewalld_reload
|
|
%service_add_post zabbix_agentd.service
|
|
%tmpfiles_create %{_tmpfilesdir}/zabbix_agentd.conf
|
|
echo "Please read %{_docdir}/%{name}-agent/README-SSL.SUSE to set up SSL on Zabbix agent."
|
|
|
|
%post server-mysql
|
|
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_server zabbix_server %{_sbindir}/zabbix_server-mysql 12
|
|
|
|
%post server-postgresql
|
|
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_server zabbix_server %{_sbindir}/zabbix_server-postgresql 11
|
|
|
|
%post proxy-mysql
|
|
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-mysql 12
|
|
|
|
%post proxy-postgresql
|
|
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-postgresql 11
|
|
|
|
%post proxy-sqlite
|
|
%{_sbindir}/update-alternatives --install %{_sbindir}/zabbix_proxy zabbix_proxy %{_sbindir}/zabbix_proxy-sqlite 10
|
|
|
|
%preun server
|
|
%service_del_preun zabbix_server.service
|
|
|
|
%preun proxy
|
|
%service_del_preun zabbix_proxy.service
|
|
|
|
%preun java-gateway
|
|
%service_del_preun zabbix-java-gateway.service
|
|
|
|
%preun agent
|
|
%service_del_preun zabbix_agentd.service
|
|
|
|
%postun server
|
|
%service_del_postun zabbix_server.service
|
|
|
|
%postun proxy
|
|
%service_del_postun zabbix_proxy.service
|
|
|
|
%postun java-gateway
|
|
%service_del_postun zabbix-java-gateway.service
|
|
|
|
%postun agent
|
|
%service_del_postun zabbix_agentd.service
|
|
|
|
%postun server-mysql
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove zabbix_server %{_sbindir}/zabbix_server-mysql
|
|
fi
|
|
|
|
%postun server-postgresql
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove zabbix_server %{_sbindir}/zabbix_server-postgresql
|
|
fi
|
|
|
|
%postun proxy-mysql
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-mysql
|
|
fi
|
|
|
|
%postun proxy-postgresql
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-postgresql
|
|
fi
|
|
|
|
%postun proxy-sqlite
|
|
if [ "$1" = 0 ] ; then
|
|
%{_sbindir}/update-alternatives --remove zabbix_proxy %{_sbindir}/zabbix_proxy-sqlite
|
|
fi
|
|
|
|
%files server
|
|
%doc AUTHORS ChangeLog database/mysql database/oracle database/postgresql database/sqlite3 rn6.0.0.html README-SSL.SUSE
|
|
%config %{_prefix}/lib/firewalld/services/zabbix-server.xml
|
|
%dir %{_prefix}/lib/firewalld
|
|
%dir %{_prefix}/lib/firewalld/services
|
|
%dir %{_sysconfdir}/zabbix
|
|
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_server.conf
|
|
%{_bindir}/zabbix_get
|
|
%{_bindir}/zabbix-get
|
|
%{_bindir}/zabbix_js
|
|
%{_sbindir}/zabbix_server
|
|
%{_sbindir}/zabbix-server
|
|
%{_sbindir}/rczabbix_server
|
|
%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user}
|
|
%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user}
|
|
%{_mandir}/man1/zabbix_get.1%{?ext_man}
|
|
%{_mandir}/man8/zabbix_server.8%{?ext_man}
|
|
%{_unitdir}/zabbix_server.service
|
|
%{_unitdir}/zabbix_server.service.requires
|
|
%{_tmpfilesdir}/zabbix_server.conf
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_server
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_server.service
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-server
|
|
|
|
%files proxy
|
|
%doc README-SSL.SUSE
|
|
%config %{_prefix}/lib/firewalld/services/zabbix-proxy.xml
|
|
%dir %{_prefix}/lib/firewalld
|
|
%dir %{_prefix}/lib/firewalld/services
|
|
%{_sbindir}/zabbix_proxy
|
|
%{_sbindir}/zabbix-proxy
|
|
%{_sbindir}/rczabbix_proxy
|
|
%dir %{_sysconfdir}/zabbix
|
|
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix_proxy.conf
|
|
%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user}
|
|
%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user}
|
|
%{_mandir}/man8/zabbix_proxy.8%{?ext_man}
|
|
%{_unitdir}/zabbix_proxy.service
|
|
%{_unitdir}/zabbix_proxy.service.requires
|
|
%{_tmpfilesdir}/zabbix_proxy.conf
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_proxy.service
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-proxy
|
|
|
|
%files agent
|
|
%doc README-SSL.SUSE
|
|
%config %{_prefix}/lib/firewalld/services/zabbix-agentd.xml
|
|
%dir %{_prefix}/lib/firewalld
|
|
%dir %{_prefix}/lib/firewalld/services
|
|
%dir %{_sysconfdir}/zabbix
|
|
%config(noreplace) %attr(0640, root, %{agent_group}) %{_sysconfdir}/zabbix/zabbix_agent*.conf
|
|
%{_sbindir}/rczabbix_agentd
|
|
%{_sbindir}/zabbix_agentd
|
|
%{_sbindir}/zabbix-agentd
|
|
%{_sbindir}/zabbix_sender
|
|
%{_sbindir}/zabbix-sender
|
|
%attr(0770,root,%{agent_group}) %dir %{_localstatedir}/log/%{agent_user}
|
|
%ghost %attr(0770,root,%{agent_group}) %dir %{_rundir}/%{agent_user}
|
|
%{_mandir}/man8/zabbix_agentd.8%{?ext_man}
|
|
%{_mandir}/man1/zabbix_sender.1%{?ext_man}
|
|
%{_unitdir}/zabbix_agentd.service
|
|
%{_tmpfilesdir}/zabbix_agentd.conf
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}-agent
|
|
|
|
%files ui
|
|
%doc README.SUSE
|
|
%dir %{apache_sysconfdir}
|
|
%dir %{apache_sysconfdir}/conf.d
|
|
%config(noreplace) %{apache_sysconfdir}/conf.d/zabbix.conf
|
|
%{_datadir}/zabbix
|
|
|
|
%files server-mysql
|
|
%{_sbindir}/zabbix_server-mysql
|
|
%{_sbindir}/zabbix_server
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_server
|
|
|
|
%files server-postgresql
|
|
%{_sbindir}/zabbix_server-postgresql
|
|
%{_sbindir}/zabbix_server
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_server
|
|
|
|
%files proxy-mysql
|
|
%{_sbindir}/zabbix_proxy-mysql
|
|
%{_sbindir}/zabbix_proxy
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
|
|
|
|
%files proxy-postgresql
|
|
%{_sbindir}/zabbix_proxy-postgresql
|
|
%{_sbindir}/zabbix_proxy
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
|
|
|
|
%files proxy-sqlite
|
|
%{_sbindir}/zabbix_proxy-sqlite
|
|
%{_sbindir}/zabbix_proxy
|
|
%ghost %{_sysconfdir}/alternatives/zabbix_proxy
|
|
|
|
%files java-gateway
|
|
%config %{_prefix}/lib/firewalld/services/zabbix-java-gateway.xml
|
|
%dir %{_prefix}/lib/firewalld
|
|
%dir %{_prefix}/lib/firewalld/services
|
|
%dir %{_sysconfdir}/zabbix
|
|
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway.conf
|
|
%config(noreplace) %attr(0640, root, %{server_group}) %{_sysconfdir}/zabbix/zabbix-java-gateway-log.xml
|
|
%dir %{_prefix}/lib/zabbix-java-gateway
|
|
%{_bindir}/zabbix-java-gateway
|
|
%{_prefix}/lib/zabbix-java-gateway/zabbix-java-gateway-%{version}%{?rclevel}.jar
|
|
%{_prefix}/lib/zabbix-java-gateway/android-json-4.3_r3.1.jar
|
|
%{_prefix}/lib/zabbix-java-gateway/slf4j-api-1.7.32.jar
|
|
%{_prefix}/lib/zabbix-java-gateway/logback-core-1.2.9.jar
|
|
%{_prefix}/lib/zabbix-java-gateway/logback-classic-1.2.9.jar
|
|
%{_sbindir}/rczabbix-java-gateway
|
|
%attr(0770,root,%{server_group}) %dir %{_localstatedir}/log/%{server_user}
|
|
%ghost %attr(0770,root,%{server_group}) %dir %{_rundir}/%{server_user}
|
|
%{_unitdir}/zabbix-java-gateway.service
|
|
%{_tmpfilesdir}/zabbix-java-gateway.conf
|
|
|
|
%files -n system-user-zabbix
|
|
%{_sysusersdir}/system-user-zabbix.conf
|
|
|
|
%changelog
|