forked from pool/zabbix
11fbf75d17
- New Features and Improvements + ZBXNEXT-9140 Added support for custom compartments in Oracle Cloud by HTTP templates Templates + ZBXNEXT-9034 Added Jira Data Center by JMX template Templates + ZBXNEXT-8682 Introduced a length limit of 512KB for item test values that server returns to Zabbix frontend Frontend Server + ZBXNEXT-8248 Added database filter macros to MySQL templates Templates + ZBXNEXT-6698 Removed absolute threshold and timeleft from OS template triggers of filesystem space Templates + ZBXNEXT-7930 Added user macro support for username and password fields in email media type Server + ZBXCTR-22 Refactored JavaScript filter functions for Kubernetes templates Templates + ZBXNEXT-9098 Added AWS ELB Network Load Balancer by HTTP template Templates + ZBXNEXT-6864 Replaced {HOST.CONN} with user macros in templates Templates + ZBXNEXT-9117 Updated max supported MariaDB version to 11.3 Proxy Server + ZBXNEXT-9026 Added Go compiler version to Zabbix agent 2 version output Agent + ZBXNEXT-8786 Changed 'odbc.discovery' keys to 'odbc.get' in MySQL by ODBC and Oracle by ODBC templates Templates + ZBXNEXT-8536 Added cbdhsvc service to macros in Windows agent templates Templates + ZBXNEXT-8861 Made changes and added more metrics to the FortiGate by SNMP template Templates + ZBXNEXT-8240 Added a new set of templates for integration with Oracle Cloud Infrastructure Templates - Bug Fixes + ZBX-24483 Improved memory usage in Zabbix server/proxy trappers and in proxy pollers when sending large configuration Proxy Server + ZBX-23073 Fixed URL widget resizing and dragging Frontend + ZBX-24574 Fixed HA node flipping between standby and active states Server + ZBX-24119 Fixed possible blocking of alert manager when it periodically pings database Server + ZBX-7998 Added VMware service username, password and URL check for empty values Proxy Server + ZBX-24402 Reduced main process connections to database during startup Proxy Server + ZBX-24369 Fixed filter behavior in monitoring pages after deleting filter parameters Frontend + ZBX-24484 Fixed Geomap widget console error when dragging map in widget edit mode Frontend + ZBX-23337 Improved supported version documentation for Oracle Database plugin and both templates Documentation + ZBX-24180 Fixed inability to import existing host or template when its dependent item prototype, which is used in trigger prototypes or graph prototypes, would have a different master item API + ZBX-20871 Fixed inability to use LLD macro functions in Prometheus pattern and labels used in item prototype preprocessing API + ZBX-24527 Fixed unnecessary loading text being displayed in hintbox preloader Frontend + ZBX-24362 Fixed wrong Zabbix agent 2 loadable plugin process handling catching all child process exits Agent + ZBX-24470 Fixed scale of VMware vmware.vm.memory.size.compressed key Proxy Server + ZBX-24415 Added triggers for datastores in VMware templates Templates + ZBX-18094 Fixed multiple pie graph issues related to calculation of item angles Frontend + ZBX-20766 Fixed confusing port binding error message Agent Proxy Server + ZBX-24481 Fixed inability to unset value map from existing item or item prototype by passing a version without valuemap parameter into configuration.import API + ZBX-24531 Fixed compile time data not being set for agent2 Agent + ZBX-24453 Implemented socket file cleanup when shutting down, added blocking of signals during important stages of startup Proxy Server + ZBX-24152 Fixed host form submission with Enter button if the form is opened in a popup and focus is in a flexible text area field Frontend + ZBX-23788 Added SNMP OID ifAlias in Network interfaces discovery Templates + ZBX-24482 Fixed the presence of the http_proxy field in the initial data Installation + ZBX-24210 Improved Zabbix agent 2 loadable plugin capacity code style Agent + ZBX-23951 Fixed issue of incorrect template matching when no UUID exists in export file API + ZBX-23953 Fixed CIDR network mask of VMware HV network interface Proxy Server + ZBX-24195 Fixed host IPMI username and password field max length Frontend + ZBX-24451 Added tags and changed a item in Proxmox template Templates + ZBX-23386 Fixed hintbox sizing to fit screen Frontend + ZBX-24024 Fixed OIDs for external sensors in APC UPC by SNMP templates Templates + ZBX-21751 Fixed node's loadavg item in Proxmox template Templates + ZBX-24315 Fixed linking template to host when some LLD macro paths already exist Server + ZBX-24172 Fixed Zabbix server issue with scheduled intervals on Feb 29th of leap year Server + ZBX-23407 Improved performance of retrieving last history values when primary keys are available API + ZBX-24246 Updated descriptions for family of MySQL and Oracle templates, changed macro in the trigger 'Tablespace utilization is too high' for family of Oracle templates Templates + ZBX-23988 Renamed Agent2 Go module + ZBX-24222 Fixed incorrect item OIDs in the FortiGate by SNMP template Templates + ZBX-24393 Updated README in Redis by Zabbix agent 2 template Templates + ZBX-24298 Allowed any JNDI service providers back in JMX monitoring Java gateway + ZBX-19990 Separated LLD filter macros in Apache Tomcat by JMX template Templates + ZBX-24364 Added preprocessing steps for LLD rules in RabbitMQ templates Templates + ZBX-24368 Improved PostgreSQL autovacuum's count query Templates + ZBX-24282 Fixed Zabbix proxy to report error for not supported items Proxy Server + ZBX-19507 Fixed vmware.eventlog item to recover after event keys are reset Server + ZBX-24241 Fixed Zabbix server issue with random order of host groups for a host during real-time export Server + ZBX-24275 Fixed item prototype JSONPath preprocessing, added missing volume health metric and triggers in HPE MSA templates Templates + ZBX-24316 Fixed username macro in GridGain by JMX template Templates + ZBX-23719 Updated plugin-support to add duplicate flag handling Agent + ZBX-22429 Fixed typo in Zabbix proxy automake file Installation + ZBX-24264 Fixed value cache being filled with values of newly added items with triggers Server + ZBX-24088 Fixed problem filtering in maps with nested maps Frontend + ZBX-24206 Fixed line breaks in JavaScript in Cloudflare template Templates + ZBX-24236 Fixed nested transaction error in LLD when connection is terminated Server + ZBX-24134 Added sensor discovery in VMware Hypervisor template Templates + ZBX-23918 Fixed item pattern select popup to display all available items Frontend + ZBX-24190 Fixed items being updated incorrectly when configuring graph Frontend + ZBX-24289 Fixed issue with interface assignment for items copied from host to host Frontend + ZBX-23032 Added triggers for cluster status in VMware templates Templates + ZBX-23948 Added support for TabularData data when parsing an MBean attribute Java gateway + ZBX-23742 Fixed tag filtering logic for tags with one name and different types of operators API + ZBX-24271 Added delay in JavaScript execution for Azure Cost Management by HTTP template Templates + ZBX-24208 Fixed Oracle, MySQL plugin connection cache blocking Agent + ZBX-24202 Fixed JavaScript in AWS S3 bucket by HTTP template Templates + ZBX-23478 Fixed issue when missing locale error would not be displayed for user under certain conditions Frontend + ZBX-24166 Fixed Zabbix not being able to restart due to RTC and sockets not being closed before stopping Agent Proxy Server + ZBX-23853 Fixed duplicate agent check timestamps when time shifts back due to system clock synchronization Agent OBS-URL: https://build.opensuse.org/package/show/server:monitoring:zabbix/zabbix?expand=0&rev=61
655 lines
24 KiB
RPMSpec
655 lines
24 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.31
|
|
Release: 0
|
|
Summary: Distributed monitoring system
|
|
License: Apache-2.0 AND GPL-2.0-or-later AND EPL-2.0 AND MPL-2.0 AND BSD-3-Clause
|
|
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
|
|
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 %{SOURCE16} 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 %{SOURCE16} %{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 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
|
|
%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
|
|
%{_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
|
|
%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
|
|
%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
|