summaryrefslogtreecommitdiff
path: root/zabbix.spec
diff options
context:
space:
mode:
Diffstat (limited to 'zabbix.spec')
-rw-r--r--zabbix.spec614
1 files changed, 273 insertions, 341 deletions
diff --git a/zabbix.spec b/zabbix.spec
index 0251373..f61486c 100644
--- a/zabbix.spec
+++ b/zabbix.spec
@@ -1,58 +1,43 @@
-# TODO, maybe sometime:
-# * Allow for nginx?
-# * Consider using systemd's ReadWriteDirectories
-
-#TODO: systemctl reload seems to be necessary after switching with Alternatives
-#TODO: If the DB path for a Sqlite proxy is configured wrong, it requires systemctl restart. Start doesn't work.
-
-%global with_selinux 1
-%global selinuxtype targeted
-# go is needed for agent2, but there are missing deps
-%bcond_without go
-# Missing dependencies for the java connector
-%bcond_with java
-#%%global prerelease rc2
-
-Name: zabbix
-Version: 7.0.5
-Release: 1
-Summary: Open-source monitoring solution for your IT infrastructure
-License: AGPL-3.0-only AND MIT AND GPL-2.0-or-later AND Zlib AND BSD-3-Clause AND BSD-2-Clause AND ISC
-URL: https://www.zabbix.com
-Source0: https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-%{version}.tar.gz
-Source1: %{name}-web.conf
-Source2: %{name}-php-fpm.conf
-Source5: %{name}-logrotate.in
-Source9: %{name}-tmpfiles-zabbix.conf
+%global srcname zabbix
+
+Name: zabbix
+Version: 6.0.36
+Release: 1
+Summary: The Enterprise-class open source monitoring solution
+License: GPLv2
+URL: http://www.zabbix.com/
+Source0: https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-%{version}.tar.gz
+Source1: %{srcname}-web.conf
+Source2: %{srcname}-php-fpm.conf
+Source5: %{srcname}-logrotate.in
+Source9: %{srcname}-tmpfiles-zabbix.conf
# systemd units -- Alternatives switches between them (they state their dependencies)
# https://support.zabbix.com/browse/ZBXNEXT-1593
-Source10: %{name}-agent.service
-Source11: %{name}-proxy-mysql.service
-Source12: %{name}-proxy-pgsql.service
-Source13: %{name}-proxy-sqlite3.service
-Source14: %{name}-server-mysql.service
-Source15: %{name}-server-pgsql.service
-Source17: %{name}-tmpfiles-zabbixsrv.conf
-Source18: %{name}.te
-Source19: %{name}.if
-Source20: %{name}.fc
-
+Source10: %{srcname}-agent.service
+Source11: %{srcname}-proxy-mysql.service
+Source12: %{srcname}-proxy-pgsql.service
+Source13: %{srcname}-proxy-sqlite3.service
+Source14: %{srcname}-server-mysql.service
+Source15: %{srcname}-server-pgsql.service
+Source17: %{srcname}-tmpfiles-zabbixsrv.conf
+Source18: %{srcname}.te
+Source19: %{srcname}.if
+Source20: %{srcname}.fc
+
# This is not a symlink, because we don't want the webserver to possibly ever serve it.
# local rules for config files
-Patch0: %{name}-config.patch
+Patch0: %{srcname}-config.patch
# Allow out-of-tree builds
# https://support.zabbix.com/browse/ZBXNEXT-6077
-Patch1: %{name}-out-of-tree.patch
+Patch1: %{srcname}-out-of-tree.patch
# Enforce Fedora Crypto Policy
-Patch2: %{name}-crypto-policy.patch
-# Add <stdio> to sscanf check
-# https://support.zabbix.com/browse/ZBX-21946
-Patch3: %{name}-configure-sscanf.patch
+Patch2: %{srcname}-crypto-policy.patch
+Patch3: %{srcname}-configure-sscanf.patch
# Patch1 patches automake files so we need to autoreconf
BuildRequires: libtool
BuildRequires: make
-BuildRequires: mariadb-connector-c-devel
+BuildRequires: mysql-devel
BuildRequires: libpq-devel
BuildRequires: sqlite-devel
BuildRequires: net-snmp-devel
@@ -67,22 +52,12 @@ BuildRequires: libxml2-devel
BuildRequires: libevent-devel
BuildRequires: pcre2-devel
BuildRequires: gcc
-%if %{with go}
-BuildRequires: golang
-%endif
-BuildRequires: systemd
-
-# Needed to determine path to link to
-BuildRequires: dejavu-sans-fonts
+BuildRequires: systemd
+BuildRequires: google-noto-sans-cjk-sc-fonts
+BuildRequires: fonts-srpm-macros
+
Requires: logrotate
-
-%if 0%{?with_selinux}
-# This ensures that the *-selinux package and all it’s dependencies are not pulled
-# into containers and other systems that do not use SELinux
-Requires: (%{name}-selinux if selinux-policy-%{selinuxtype})
-%endif
-
Provides: bundled(md5-deutsch)
%description
@@ -92,7 +67,7 @@ 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 visualization 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 front end.
A web-based front end ensures that the status of your network and the health of
@@ -104,27 +79,27 @@ multitude of servers.
%package dbfiles-mysql
Summary: Zabbix database schemas, images, data and patches
BuildArch: noarch
-
+
%description dbfiles-mysql
Zabbix database schemas, images, data and patches necessary for creating
and/or updating MySQL databases
-
+
%package dbfiles-pgsql
Summary: Zabbix database schemas, images, data and patches
BuildArch: noarch
-
+
%description dbfiles-pgsql
Zabbix database schemas, images, data and patches necessary for creating
and/or updating PostgreSQL databases
-
+
%package dbfiles-sqlite3
Summary: Zabbix database schemas and patches
BuildArch: noarch
-
+
%description dbfiles-sqlite3
Zabbix database schemas and patches necessary for creating
and/or updating SQLite databases
-
+
%package server
Summary: Zabbix server common files
BuildArch: noarch
@@ -133,89 +108,100 @@ Requires: %{name}-server-implementation = %{version}-%{release}
Requires: fping
Requires: traceroute
Requires(pre): shadow-utils
-%{?systemd_requires}
-
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+
%description server
Zabbix server common files
-
+
%package server-mysql
Summary: Zabbix server compiled to use MySQL
Requires: %{name} = %{version}-%{release}
Requires: %{name}-dbfiles-mysql
Requires: %{name}-server = %{version}-%{release}
Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/update-alternatives
Provides: %{name}-server-implementation = %{version}-%{release}
-
+
%description server-mysql
Zabbix server compiled to use MySQL
-
+
%package server-pgsql
Summary: Zabbix server compiled to use PostgreSQL
Requires: %{name} = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release}
Requires: %{name}-dbfiles-pgsql
Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/update-alternatives
Provides: %{name}-server-implementation = %{version}-%{release}
-
+
%description server-pgsql
Zabbix server compiled to use PostgreSQL
-
+
%package agent
Summary: Zabbix agent
Requires: %{name} = %{version}-%{release}
Requires(pre): shadow-utils
-%{?systemd_requires}
-
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
+
%description agent
Zabbix agent, to be installed on monitored systems
-
+
%package proxy
Summary: Zabbix proxy common files
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: %{name}-proxy-implementation = %{version}-%{release}
Requires(pre): shadow-utils
-%{?systemd_requires}
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
Requires: fping
-
+
%description proxy
Zabbix proxy commmon files
-
+
%package proxy-mysql
Summary: Zabbix proxy compiled to use MySQL
Requires: %{name}-proxy = %{version}-%{release}
Requires: %{name}-dbfiles-mysql
Provides: %{name}-proxy-implementation = %{version}-%{release}
Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/update-alternatives
-
+
%description proxy-mysql
Zabbix proxy compiled to use MySQL
-
+
%package proxy-pgsql
Summary: Zabbix proxy compiled to use PostgreSQL
Requires: %{name}-proxy = %{version}-%{release}
Requires: %{name}-dbfiles-pgsql
Provides: %{name}-proxy-implementation = %{version}-%{release}
Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/update-alternatives
-
+
%description proxy-pgsql
Zabbix proxy compiled to use PostgreSQL
-
+
%package proxy-sqlite3
Summary: Zabbix proxy compiled to use SQLite
Requires: %{name}-proxy = %{version}-%{release}
Requires: %{name}-dbfiles-sqlite3
Provides: %{name}-proxy-implementation = %{version}-%{release}
Requires(post): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/alternatives
Requires(postun): %{_sbindir}/update-alternatives
-
+
%description proxy-sqlite3
Zabbix proxy compiled to use SQLite
-
+
%package web
Summary: Zabbix Web Frontend
BuildArch: noarch
@@ -227,93 +213,66 @@ Requires: php-json
Requires: php-ldap
Requires: php-mbstring
Requires: php-xml
-# jquery 3.6.0 and jquery-ui 1.13.2 in the sources
+# jquery 3.3.1 and jquery-ui 1.12.1 in the sources
Requires: js-jquery >= 3.6.0
-Provides: bundled(js-jquery-ui) = 1.13.2
+Provides: bundled(js-jquery-ui) = 1.12.1
# prototype 1.6.1 in the sources, Fedora package is dead
#Requires: prototype
-Requires: dejavu-sans-fonts
+Requires: google-noto-sans-cjk-sc-fonts
Requires: %{name} = %{version}-%{release}
Requires: %{name}-web-database = %{version}-%{release}
-
+
%description web
The php frontend to display the Zabbix web interface.
-
+
%package web-mysql
Summary: Zabbix web frontend for MySQL
BuildArch: noarch
Requires: %{name}-web = %{version}-%{release}
Requires: php-mysqli
Provides: %{name}-web-database = %{version}-%{release}
-
+
%description web-mysql
Zabbix web frontend for MySQL
-
+
%package web-pgsql
Summary: Zabbix web frontend for PostgreSQL
BuildArch: noarch
Requires: %{name}-web = %{version}-%{release}
Requires: php-pgsql
Provides: %{name}-web-database = %{version}-%{release}
-
+
%description web-pgsql
Zabbix web frontend for PostgreSQL
-%if %{with java}
-%package -n java-%{name}
-Summary: Zabbix Java connector
-BuildArch: noarch
-BuildRequires: java-devel
-BuildRequires: osgi(org.junit)
-BuildRequires: osgi(slf4j.api)
-BuildRequires: osgi(logback)
-
-%description -n java-%{name}
-Zabbix Java connector.
-%endif
-
-%if 0%{?with_selinux}
-# SELinux subpackage
-%package selinux
-Summary: Zabbix SELinux policy
-BuildArch: noarch
-Requires: selinux-policy-%{selinuxtype}
-Requires(post): selinux-policy-%{selinuxtype}
-BuildRequires: selinux-policy-devel
-%{?selinux_requires}
-
-%description selinux
-Custom SELinux policy module
-%endif
-
-
%prep
%autosetup -p1
-autoreconf
+autoreconf
+
# Remove bundled java libs
find -name \*.jar -delete
-
+
# Remove prebuilt Windows binaries
rm -rf bin
-
+
# Override creation of statically named directory for alertscripts and externalscripts
# https://support.zabbix.com/browse/ZBX-6159
sed -i '/CURL_SSL_.*_LOCATION\|SCRIPTS_PATH/s|\${datadir}/zabbix|/var/lib/zabbixsrv|' \
configure
-
+
# Kill off .htaccess files, options set in SOURCE1
find -name .htaccess -delete
-
+
# Fix path to traceroute utility (on all Linux targets)
find database -name 'data.sql' -exec sed -i 's|/usr/bin/traceroute|/bin/traceroute|' {} \;
-
+
# Common
# Settings with hard-coded defaults that are not suitable for Fedora
# are explicitly set, leaving the comment with the default value in place.
# Settings without hard-coded defaults are simply replaced -- be they
# comments or explicit settings!
-
+
# Also replace the datadir placeholder that is not expanded, but effective
sed -i \
-e '\|^# LogFileSize=.*|a LogFileSize=0' \
@@ -325,25 +284,26 @@ sed -i \
-e 's|/usr/local||' \
-e 's|\${datadir}|/usr/share|' \
conf/zabbix_agentd.conf conf/zabbix_proxy.conf conf/zabbix_server.conf
-
+
# Specific
sed -i \
-e '\|^# PidFile=.*|a PidFile=%{_rundir}/zabbix/zabbix_agentd.pid' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/zabbix/zabbix_agentd.log|' \
conf/zabbix_agentd.conf
-
+
sed -i \
-e '\|^# PidFile=.*|a PidFile=%{_rundir}/zabbixsrv/zabbix_proxy.pid' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/zabbixsrv/zabbix_proxy.log|' \
conf/zabbix_proxy.conf
-
+
sed -i \
-e '\|^# PidFile=.*|a PidFile=%{_rundir}/zabbixsrv/zabbix_server.pid' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/zabbixsrv/zabbix_server.log|' \
conf/zabbix_server.conf
+
%build
-
+
common_flags="
--enable-dependency-tracking
--enable-proxy
@@ -361,252 +321,192 @@ common_flags="
"
# Setup out of tree builds
%global _configure ../configure
-
-%if %{with java}
-export CLASSPATH=$(build-classpath junit slf4j-api logback-core logback-classic android-json)
-%endif
-
+
# Frontend doesn't work for SQLite, thus don't build server
mkdir -p build-frontend
cd build-frontend
-%configure $common_flags --enable-agent --with-sqlite3 %{?with_go:--enable-agent2} %{?with_java:--enable-java}
+%configure $common_flags --enable-agent --with-sqlite3
%make_build
cd -
-
+
mkdir -p build-server-mysql
cd build-server-mysql
%configure $common_flags --with-mysql --enable-server
%make_build
cd -
-
+
mkdir -p build-server-postgresql
cd build-server-postgresql
%configure $common_flags --with-postgresql --enable-server
%make_build
cd -
-
+
%if 0%{?with_selinux}
# SELinux policy (originally from selinux-policy-contrib)
# this policy module will override the production module
mkdir selinux
-cp -p %{S:18} selinux/
-cp -p %{S:19} selinux/
-cp -p %{S:20} selinux/
-
-make -f %{_datadir}/selinux/devel/Makefile %{name}.pp
-bzip2 -9 %{name}.pp
+cp -p %{SOURCE18} selinux/
+cp -p %{SOURCE19} selinux/
+cp -p %{SOURCE20} selinux/
+
+make -f %{_datadir}/selinux/devel/Makefile %{srcname}.pp
+bzip2 -9 %{srcname}.pp
%endif
-
-
+
+
%install
# Install binaries
%make_install -C build-frontend
-mv %{buildroot}%{_sbindir}/zabbix_proxy{,_sqlite3}
+mv $RPM_BUILD_ROOT%{_sbindir}/zabbix_proxy{,_sqlite3}
%make_install -C build-server-mysql
-mv %{buildroot}%{_sbindir}/zabbix_proxy{,_mysql}
-mv %{buildroot}%{_sbindir}/zabbix_server{,_mysql}
+mv $RPM_BUILD_ROOT%{_sbindir}/zabbix_proxy{,_mysql}
+mv $RPM_BUILD_ROOT%{_sbindir}/zabbix_server{,_mysql}
%make_install -C build-server-postgresql
-mv %{buildroot}%{_sbindir}/zabbix_proxy{,_pgsql}
-mv %{buildroot}%{_sbindir}/zabbix_server{,_pgsql}
-
+mv $RPM_BUILD_ROOT%{_sbindir}/zabbix_proxy{,_pgsql}
+mv $RPM_BUILD_ROOT%{_sbindir}/zabbix_server{,_pgsql}
+
# Ghosted alternatives
-touch %{buildroot}%{_sbindir}/zabbix_{proxy,server}
-
+touch $RPM_BUILD_ROOT%{_sbindir}/zabbix_{proxy,server}
+
# Home directory for the agent;
# The other home directory is created during installation
-mkdir -p %{buildroot}%{_sharedstatedir}/zabbix
-
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/zabbix
+
# Log directories
-mkdir -p %{buildroot}%{_localstatedir}/log/zabbix
-mkdir -p %{buildroot}%{_localstatedir}/log/zabbixsrv
-
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/zabbix
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/zabbixsrv
+
# systemd tmpfiles
-mkdir -p %{buildroot}%{_prefix}/lib/tmpfiles.d
-install -m 0644 -p %{S:9} %{buildroot}%{_prefix}/lib/tmpfiles.d/zabbix.conf
-install -m 0644 -p %{S:17} %{buildroot}%{_prefix}/lib/tmpfiles.d/zabbixsrv.conf
-mkdir -p %{buildroot}%{_rundir}
-install -d -m 0755 %{buildroot}%{_rundir}/zabbix/
-install -d -m 0755 %{buildroot}%{_rundir}/zabbixsrv/
-
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
+install -m 0644 -p %{SOURCE9} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/zabbix.conf
+install -m 0644 -p %{SOURCE17} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/zabbixsrv.conf
+mkdir -p $RPM_BUILD_ROOT%{_rundir}
+install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/zabbix/
+install -d -m 0755 $RPM_BUILD_ROOT%{_rundir}/zabbixsrv/
+
# Install the frontend after removing backup files from patching
find ui -name '*.orig' -delete
-mkdir -p %{buildroot}%{_datadir}/%{name}
-cp -a ui/* %{buildroot}%{_datadir}/%{name}/
-
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{srcname}
+cp -a ui/* $RPM_BUILD_ROOT%{_datadir}/%{srcname}/
+
# Prepare ghosted config file
-mkdir -p %{buildroot}%{_sysconfdir}/%{name}/web
-touch %{buildroot}%{_sysconfdir}/%{name}/web/zabbix.conf.php
-
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{srcname}/web
+touch $RPM_BUILD_ROOT%{_sysconfdir}/%{srcname}/web/zabbix.conf.php
+
# Replace bundled font
-[ -d %{_fontbasedir}/dejavu ] &&
- ln -sf ../../../fonts/dejavu/DejaVuSans.ttf %{buildroot}%{_datadir}/%{name}/assets/fonts/
-[ -d %{_fontbasedir}/dejavu-sans-fonts ] &&
- ln -sf ../../../fonts/dejavu-sans-fonts/DejaVuSans.ttf %{buildroot}%{_datadir}/%{name}/assets/fonts/
-
+[ -d %{_fontbasedir}/google-noto-cjk ] &&
+ ln -sf ../../../fonts/google-noto-cjk/NotoSansCJKsc-Regular.otf $RPM_BUILD_ROOT%{_datadir}/%{srcname}/assets/fonts/DejaVuSans.ttf
+
# Replace JS libraries
# There is no jquery-ui package yet
-ln -sf ../../../javascript/jquery/3/jquery.min.js %{buildroot}%{_datadir}/%{name}/js/vendors/jquery.js
-#ln -sf ../../../javascript/jquery-ui/1/jquery-ui.min.js %{buildroot}%{_datadir}/%{name}/js/vendors/jquery-ui.js
-
+ln -sf ../../../javascript/jquery/3/jquery.min.js $RPM_BUILD_ROOT%{_datadir}/%{srcname}/js/vendors/jquery.js
+#ln -sf ../../../javascript/jquery-ui/1/jquery-ui.min.js $RPM_BUILD_ROOT%{_datadir}/%{srcname}/js/vendors/jquery-ui.js
+
# This file is used to switch the frontend to maintenance mode
-mv %{buildroot}%{_datadir}/%{name}/conf/maintenance.inc.php %{buildroot}%{_sysconfdir}/%{name}/web/maintenance.inc.php || :
-
+mv $RPM_BUILD_ROOT%{_datadir}/%{srcname}/conf/maintenance.inc.php $RPM_BUILD_ROOT%{_sysconfdir}/%{srcname}/web/maintenance.inc.php || :
+
# Drop Apache config file in place
-mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
-install -m 0644 -p %{S:1} %{buildroot}%{_sysconfdir}/httpd/conf.d/%{name}.conf
-
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
+install -m 0644 -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/%{srcname}.conf
+
# Drop php-fpm config file in place
-mkdir -p %{buildroot}%{_sysconfdir}/php-fpm.d
-install -m 0644 -p %{S:2} %{buildroot}%{_sysconfdir}/php-fpm.d/%{name}.conf
-
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d
+install -m 0644 -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/php-fpm.d/%{srcname}.conf
+
# Install log rotation
-mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
-sed -e 's|COMPONENT|agentd|g; s|USER|zabbix|g' %{S:5} > \
- %{buildroot}%{_sysconfdir}/logrotate.d/zabbix-agent
-sed -e 's|COMPONENT|server|g; s|USER|zabbixsrv|g' %{S:5} > \
- %{buildroot}%{_sysconfdir}/logrotate.d/zabbix-server
-sed -e 's|COMPONENT|proxy|g; s|USER|zabbixsrv|g' %{S:5} > \
- %{buildroot}%{_sysconfdir}/logrotate.d/zabbix-proxy
-
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
+sed -e 's|COMPONENT|agentd|g; s|USER|zabbix|g' %{SOURCE5} > \
+ $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/zabbix-agent
+sed -e 's|COMPONENT|server|g; s|USER|zabbixsrv|g' %{SOURCE5} > \
+ $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/zabbix-server
+sed -e 's|COMPONENT|proxy|g; s|USER|zabbixsrv|g' %{SOURCE5} > \
+ $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/zabbix-proxy
+
# Install different systemd units because of the requirements for DBMS daemons
-mkdir -p %{buildroot}%{_unitdir}
-install -m 0644 -p %{S:10} %{buildroot}%{_unitdir}/zabbix-agent.service
-install -m 0644 -p %{S:11} %{buildroot}%{_unitdir}/zabbix-proxy-mysql.service
-install -m 0644 -p %{S:12} %{buildroot}%{_unitdir}/zabbix-proxy-pgsql.service
-install -m 0644 -p %{S:13} %{buildroot}%{_unitdir}/zabbix-proxy-sqlite3.service
-install -m 0644 -p %{S:14} %{buildroot}%{_unitdir}/zabbix-server-mysql.service
-install -m 0644 -p %{S:15} %{buildroot}%{_unitdir}/zabbix-server-pgsql.service
-
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+install -m 0644 -p %{SOURCE10} $RPM_BUILD_ROOT%{_unitdir}/zabbix-agent.service
+install -m 0644 -p %{SOURCE11} $RPM_BUILD_ROOT%{_unitdir}/zabbix-proxy-mysql.service
+install -m 0644 -p %{SOURCE12} $RPM_BUILD_ROOT%{_unitdir}/zabbix-proxy-pgsql.service
+install -m 0644 -p %{SOURCE13} $RPM_BUILD_ROOT%{_unitdir}/zabbix-proxy-sqlite3.service
+install -m 0644 -p %{SOURCE14} $RPM_BUILD_ROOT%{_unitdir}/zabbix-server-mysql.service
+install -m 0644 -p %{SOURCE15} $RPM_BUILD_ROOT%{_unitdir}/zabbix-server-pgsql.service
+
# Ghosted alternatives
-touch %{buildroot}%{_unitdir}/zabbix-server.service
-touch %{buildroot}%{_unitdir}/zabbix-proxy.service
-
+touch $RPM_BUILD_ROOT%{_unitdir}/zabbix-server.service
+touch $RPM_BUILD_ROOT%{_unitdir}/zabbix-proxy.service
+
# Directory for fping spooling files
-mkdir -p %{buildroot}%{_sharedstatedir}/zabbixsrv/tmp
-
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/zabbixsrv/tmp
+
# Install sql files
for db in postgresql mysql; do
- mkdir %{buildroot}%{_datadir}/%{name}-$db
- cp -p database/$db/*.sql %{buildroot}%{_datadir}/%{name}-$db
+ mkdir $RPM_BUILD_ROOT%{_datadir}/%{srcname}-$db
+ cp -p database/$db/*.sql $RPM_BUILD_ROOT%{_datadir}/%{srcname}-$db
done
-
-install -dm 755 %{buildroot}%{_datadir}/%{name}-sqlite3
-cp -p database/sqlite3/schema.sql %{buildroot}%{_datadir}/%{name}-sqlite3
-
-%if 0%{?with_selinux}
-install -D -m 0644 %{name}.pp.bz2 %{buildroot}%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
-install -D -p -m 0644 selinux/%{name}.if %{buildroot}%{_datadir}/selinux/devel/include/distributed/%{name}.if
-%endif
-
+
+install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{srcname}-sqlite3
+cp -p database/sqlite3/schema.sql $RPM_BUILD_ROOT%{_datadir}/%{srcname}-sqlite3
%post server
%systemd_post zabbix-server.service
-
+
if [ $1 -gt 1 ] ; then
# Apply permissions also in *.rpmnew upgrades from old permissive ones
chmod 0640 %{_sysconfdir}/zabbix_server.conf
chown root:zabbixsrv %{_sysconfdir}/zabbix_server.conf
fi
:
-
+
%post server-mysql
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_server \
- %{name}-server %{_sbindir}/%{name}_server_mysql 10 \
- --slave %{_unitdir}/zabbix-server.service %{name}-server.service \
- %{_unitdir}/zabbix-server-mysql.service
-# This needs to be run twice to rename from old slave name in zabbix < 6.0.33-2
-# due to a bug in alternatives.
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_server \
- %{name}-server %{_sbindir}/%{name}_server_mysql 10 \
- --slave %{_unitdir}/zabbix-server.service %{name}-server.service \
+%{_sbindir}/update-alternatives --install %{_sbindir}/%{srcname}_server \
+ %{srcname}-server %{_sbindir}/%{srcname}_server_mysql 10 \
+ --slave %{_unitdir}/zabbix-server.service %{srcname}-server-systemd \
%{_unitdir}/zabbix-server-mysql.service
-
+
%post server-pgsql
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_server \
- %{name}-server %{_sbindir}/%{name}_server_pgsql 10 \
- --slave %{_unitdir}/zabbix-server.service %{name}-server.service \
- %{_unitdir}/zabbix-server-pgsql.service
-# This needs to be run twice to rename from old slave name in zabbix < 6.0.33-2
-# due to a bug in alternatives.
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_server \
- %{name}-server %{_sbindir}/%{name}_server_pgsql 10 \
- --slave %{_unitdir}/zabbix-server.service %{name}-server.service \
+%{_sbindir}/update-alternatives --install %{_sbindir}/%{srcname}_server \
+ %{srcname}-server %{_sbindir}/%{srcname}_server_pgsql 10 \
+ --slave %{_unitdir}/zabbix-server.service %{srcname}-server-systemd \
%{_unitdir}/zabbix-server-pgsql.service
-
+
%post proxy
%systemd_post zabbix-proxy.service
-
+
if [ $1 -gt 1 ] ; then
# Apply permissions also in *.rpmnew upgrades from old permissive ones
chmod 0640 %{_sysconfdir}/zabbix_proxy.conf
chown root:zabbixsrv %{_sysconfdir}/zabbix_proxy.conf
fi
:
-
+
%post proxy-mysql
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_proxy \
- %{name}-proxy %{_sbindir}/%{name}_proxy_mysql 10 \
- --slave %{_unitdir}/zabbix-proxy.service %{name}-proxy.service \
+%{_sbindir}/update-alternatives --install %{_sbindir}/%{srcname}_proxy \
+ %{srcname}-proxy %{_sbindir}/%{srcname}_proxy_mysql 10 \
+ --slave %{_unitdir}/zabbix-proxy.service %{srcname}-proxy-systemd \
%{_unitdir}/zabbix-proxy-mysql.service
-# This needs to be run twice to rename from old slave name in zabbix < 6.0.33-2
-# due to a bug in alternatives. Remove in F45
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_proxy \
- %{name}-proxy %{_sbindir}/%{name}_proxy_mysql 10 \
- --slave %{_unitdir}/zabbix-proxy.service %{name}-proxy.service \
- %{_unitdir}/zabbix-proxy-mysql.service
-
+
%post proxy-pgsql
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_proxy \
- %{name}-proxy %{_sbindir}/%{name}_proxy_pgsql 10 \
- --slave %{_unitdir}/zabbix-proxy.service %{name}-proxy.service \
+%{_sbindir}/update-alternatives --install %{_sbindir}/%{srcname}_proxy \
+ %{srcname}-proxy %{_sbindir}/%{srcname}_proxy_pgsql 10 \
+ --slave %{_unitdir}/zabbix-proxy.service %{srcname}-proxy-systemd \
%{_unitdir}/zabbix-proxy-pgsql.service
-# This needs to be run twice to rename from old slave name in zabbix < 6.0.33-2
-# due to a bug in alternatives. Remove in F45
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_proxy \
- %{name}-proxy %{_sbindir}/%{name}_proxy_pgsql 10 \
- --slave %{_unitdir}/zabbix-proxy.service %{name}-proxy.service \
- %{_unitdir}/zabbix-proxy-pgsql.service
-
+
%post proxy-sqlite3
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_proxy \
- %{name}-proxy %{_sbindir}/%{name}_proxy_sqlite3 10 \
- --slave %{_unitdir}/zabbix-proxy.service %{name}-proxy.service \
- %{_unitdir}/zabbix-proxy-sqlite3.service
-# This needs to be run twice to rename from old slave name in zabbix < 6.0.33-2
-# due to a bug in alternatives. Remove in F45
-%{_sbindir}/update-alternatives --install %{_sbindir}/%{name}_proxy \
- %{name}-proxy %{_sbindir}/%{name}_proxy_sqlite3 10 \
- --slave %{_unitdir}/zabbix-proxy.service %{name}-proxy.service \
+%{_sbindir}/update-alternatives --install %{_sbindir}/%{srcname}_proxy \
+ %{srcname}-proxy %{_sbindir}/%{srcname}_proxy_sqlite3 10 \
+ --slave %{_unitdir}/zabbix-proxy.service %{srcname}-proxy-systemd \
%{_unitdir}/zabbix-proxy-sqlite3.service
-
-%if 0%{?with_selinux}
-# SELinux contexts are saved so that only affected files can be
-# relabeled after the policy module installation
-%pre selinux
-%selinux_relabel_pre -s %{selinuxtype}
-
-%post selinux
-%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.bz2
-
-%postun selinux
-if [ $1 -eq 0 ]; then
- %selinux_modules_uninstall -s %{selinuxtype} %{name}
-fi
-
-%posttrans selinux
-%selinux_relabel_post -s %{selinuxtype}
-%endif
-
+
%pre agent
getent group zabbix > /dev/null || groupadd -r zabbix
getent passwd zabbix > /dev/null || \
useradd -r -g zabbix -d %{_sharedstatedir}/zabbix -s /sbin/nologin \
-c "Zabbix Monitoring System" zabbix
:
-
+
%post agent
%systemd_post zabbix-agent.service
-
+
%pre server
getent group zabbixsrv > /dev/null || groupadd -r zabbixsrv
# The zabbixsrv group is introduced by 2.2 packaging
@@ -620,10 +520,10 @@ else
-c "Zabbix Monitoring System -- Proxy or server" zabbixsrv
fi
:
-
+
%preun server
%systemd_preun zabbix-server.service
-
+
%pre proxy
getent group zabbixsrv > /dev/null || groupadd -r zabbixsrv
# The zabbixsrv group is introduced by 2.2 packaging
@@ -637,71 +537,70 @@ else
-c "Zabbix Monitoring System -- Proxy or server" zabbixsrv
fi
:
-
+
%preun proxy
%systemd_preun zabbix-proxy.service
-
+
%preun agent
%systemd_preun zabbix-agent.service
-
+
%postun server
%systemd_postun_with_restart zabbix-server.service
-
+
%postun server-mysql
if [ $1 -eq 0 ] ; then
- %{_sbindir}/update-alternatives --remove %{name}-server %{_sbindir}/%{name}_server_mysql
+ %{_sbindir}/update-alternatives --remove %{srcname}-server %{_sbindir}/%{srcname}_server_mysql
fi
-
+
%postun server-pgsql
if [ $1 -eq 0 ] ; then
- %{_sbindir}/update-alternatives --remove %{name}-server %{_sbindir}/%{name}_server_pgsql
+ %{_sbindir}/update-alternatives --remove %{srcname}-server %{_sbindir}/%{srcname}_server_pgsql
fi
-
+
%postun proxy
%systemd_postun_with_restart zabbix-proxy.service
-
+
%postun proxy-mysql
if [ $1 -eq 0 ] ; then
- %{_sbindir}/update-alternatives --remove %{name}-proxy %{_sbindir}/%{name}_proxy_mysql
+ %{_sbindir}/update-alternatives --remove %{srcname}-proxy %{_sbindir}/%{srcname}_proxy_mysql
fi
-
+
%postun proxy-pgsql
if [ $1 -eq 0 ] ; then
- %{_sbindir}/update-alternatives --remove %{name}-proxy %{_sbindir}/%{name}_proxy_pgsql
+ %{_sbindir}/update-alternatives --remove %{srcname}-proxy %{_sbindir}/%{srcname}_proxy_pgsql
fi
-
+
%postun proxy-sqlite3
if [ $1 -eq 0 ] ; then
- %{_sbindir}/update-alternatives --remove %{name}-proxy %{_sbindir}/%{name}_proxy_sqlite3
+ %{_sbindir}/update-alternatives --remove %{srcname}-proxy %{_sbindir}/%{srcname}_proxy_sqlite3
fi
-
+
%postun agent
%systemd_postun_with_restart zabbix-agent.service
-
%files
%license COPYING
%doc AUTHORS ChangeLog NEWS README
-%dir %{_sysconfdir}/%{name}
+%dir %{_sysconfdir}/%{srcname}
%config(noreplace) %{_sysconfdir}/zabbix_agentd.conf
%{_bindir}/zabbix_get
%{_bindir}/zabbix_js
%{_bindir}/zabbix_sender
%{_mandir}/man1/zabbix_get.1*
%{_mandir}/man1/zabbix_sender.1*
-
+
%files dbfiles-mysql
%license COPYING
-%{_datadir}/%{name}-mysql/
-
+%{_datadir}/%{srcname}-mysql/
+
%files dbfiles-pgsql
%license COPYING
-%{_datadir}/%{name}-postgresql/
-
+%{_datadir}/%{srcname}-postgresql/
+
%files dbfiles-sqlite3
%license COPYING
-%{_datadir}/%{name}-sqlite3/
-
+%{_datadir}/%{srcname}-sqlite3/
+
%files server
%doc misc/snmptrap/zabbix_trap_receiver.pl
%attr(0755,zabbixsrv,zabbixsrv) %dir %{_rundir}/zabbixsrv/
@@ -716,22 +615,22 @@ fi
%attr(0750,zabbixsrv,zabbixsrv) %dir %{_sharedstatedir}/zabbixsrv/externalscripts
%ghost %{_unitdir}/zabbix-server.service
%{_mandir}/man8/zabbix_server.8*
-
+
%files server-mysql
%{_sbindir}/zabbix_server_mysql
%{_unitdir}/zabbix-server-mysql.service
-
+
%files server-pgsql
%{_sbindir}/zabbix_server_pgsql
%{_unitdir}/zabbix-server-pgsql.service
-
+
%if 0%{?with_selinux}
%files selinux
%{_datadir}/selinux/packages/%{selinuxtype}/%{name}.pp.*
%{_datadir}/selinux/devel/include/distributed/%{name}.if
%ghost %verify(not md5 size mode mtime) %{_sharedstatedir}/selinux/%{selinuxtype}/active/modules/200/%{name}
%endif
-
+
%files agent
%doc conf/zabbix_agentd/*.conf
%attr(0755,zabbix,zabbix) %dir %{_rundir}/zabbix/
@@ -743,7 +642,7 @@ fi
%{_unitdir}/zabbix-agent.service
%{_sbindir}/zabbix_agentd
%{_mandir}/man8/zabbix_agentd.8*
-
+
%files proxy
%doc misc/snmptrap/zabbix_trap_receiver.pl
%attr(0755,zabbixsrv,zabbixsrv) %dir %{_rundir}/zabbixsrv/
@@ -758,37 +657,70 @@ fi
%attr(0750,zabbixsrv,zabbixsrv) %dir %{_sharedstatedir}/zabbixsrv/externalscripts
%ghost %{_unitdir}/zabbix-proxy.service
%{_mandir}/man8/zabbix_proxy.8*
-
+
%files proxy-mysql
%{_sbindir}/zabbix_proxy_mysql
%{_unitdir}/zabbix-proxy-mysql.service
-
+
%files proxy-pgsql
%{_sbindir}/zabbix_proxy_pgsql
%{_unitdir}/zabbix-proxy-pgsql.service
-
+
%files proxy-sqlite3
%{_sbindir}/zabbix_proxy_sqlite3
%{_unitdir}/zabbix-proxy-sqlite3.service
-
+
%files web
-%dir %attr(0750,apache,apache) %{_sysconfdir}/%{name}/web
-%ghost %attr(0644,apache,apache) %config(noreplace) %{_sysconfdir}/%{name}/web/zabbix.conf.php
-%attr(0644,apache,apache) %config(noreplace) %{_sysconfdir}/%{name}/web/maintenance.inc.php
+%dir %attr(0750,apache,apache) %{_sysconfdir}/%{srcname}/web
+%ghost %attr(0644,apache,apache) %config(noreplace) %{_sysconfdir}/%{srcname}/web/zabbix.conf.php
+%attr(0644,apache,apache) %config(noreplace) %{_sysconfdir}/%{srcname}/web/maintenance.inc.php
%config(noreplace) %{_sysconfdir}/httpd/conf.d/zabbix.conf
%config(noreplace) %{_sysconfdir}/php-fpm.d/zabbix.conf
-%{_datadir}/%{name}/
-
+%{_datadir}/%{srcname}/
+
%files web-mysql
-
+
%files web-pgsql
%changelog
-* Thu Oct 24 2024 Funda Wang <fundawang@yeah.net> - 7.0.5-1
-- update to 7.0.5
+* Fri Nov 22 2024 Funda Wang <fundawang@yeah.net> - 6.0.36-1
+- 6.0.36
+
+* Wed Oct 23 2024 Funda Wang <fundawang@yeah.net> - 6.0.35-1
+- 6.0.35
+
+* Sun Sep 29 2024 Funda Wang <fundawang@yeah.net> - 6.0.34-1
+- 6.0.34
+
+* Thu Aug 15 2024 Funda Wang <fundawang@yeah.net> - 6.0.33-1
+- 6.0.33
+
+* Wed Jul 17 2024 Funda Wang <fundawang@yeah.net> - 6.0.32-1
+- 6.0.32
+
+* Sun Jun 23 2024 Funda Wang <fundawang@yeah.net> - 6.0.31-1
+- 6.0.31
+
+* Fri May 31 2024 Funda Wang <fundawang@yeah.net> - 6.0.30-1
+- 6.0.30
+
+* Wed Apr 24 2024 Funda Wang <fundawang@yeah.net> - 6.0.29-1
+- 6.0.29
+
+* Fri Mar 29 2024 Funda Wang <fundawang@yeah.net> - 6.0.28-1
+- 6.0.28
+
+* Fri Feb 02 2024 Funda Wang <fundawang@yeah.net> - 6.0.26-1
+- 6.0.26
+
+* Sat Jan 27 2024 Funda Wang <fundawang@yeah.net> - 6.0.25-1
+- 6.0.25
+
+* Mon Oct 02 2023 Funda Wang <fundawang@yeah.net> - 6.0.22-1
+- 6.0.22
-* Sat Oct 28 2023 beta <beta@yfqm.date> - 5.2.6-5
-- solve installation conflicts between zabbix-proxy-sqlite3 and zabbix-proxy-mysql
+* Tue Aug 22 2023 Funda Wang <fundawang@yeah.net> - 6.0.20-1
+- update to 6.0.20
* Mon Aug 15 2022 Zhang Jun <zhangjun@kylinos.cn> - 5.2.6-4
- update BuildRequire mysql-devel to mysql5-devel