[zabbix/f20] Solve various systemd-related issues and update to 2.0.13
Volker Fröhlich
volter at fedoraproject.org
Wed Sep 10 21:24:17 UTC 2014
commit 5bbf21a92323dcbf330a733b72d6a412e46cd203
Author: Volker Fröhlich <volker27 at gmx.at>
Date: Wed Sep 10 23:20:16 2014 +0200
Solve various systemd-related issues and update to 2.0.13
- Use the upstream tarball, now that non-free json was replaced with android-json
- Clean between builds, otherwise zabbix_{proxy,server} are compiled
again on install; make server and proxy package noarch now
- Set the service type to forking in unit files (BZ 1132437),
add PIDFile entry, remove RemainAfterExit, change /var/run to /run
- Install tmpfiles configuration in the proper location per guidelines,
thus solving the startup trouble due to missing directories
(respectively BZ 1115251, 1081584, 982001, 1135696)
- Harmonize package descriptions and summaries
.gitignore | 1 +
sources | 2 +-
zabbix-2.0.12-zbx8151.patch | 53 ----------------------------------
zabbix-2.0.12-zbx8238.patch | 24 ---------------
zabbix-agent.service | 4 +-
zabbix-proxy-mysql.service | 4 +-
zabbix-proxy-pgsql.service | 4 +-
zabbix-proxy-sqlite3.service | 4 +-
zabbix-server-mysql.service | 4 +-
zabbix-server-pgsql.service | 4 +-
zabbix-tmpfiles.conf | 2 +-
zabbix.spec | 65 +++++++++++++++++++++++++++---------------
12 files changed, 57 insertions(+), 114 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 11e43d6..e72ed77 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ zabbix-1.8.2.tar.gz
/zabbix-2.0.10-free.tar.gz
/zabbix-2.0.11-free.tar.gz
/zabbix-2.0.12-free.tar.gz
+/zabbix-2.0.13.tar.gz
diff --git a/sources b/sources
index b9ea480..821c330 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-8d497bc9eca83d59ba5633645b86584e zabbix-2.0.12-free.tar.gz
+538e973109c36aaa8c1f2bc7925fb1c4 zabbix-2.0.13.tar.gz
diff --git a/zabbix-agent.service b/zabbix-agent.service
index 27bfad7..1e74b9b 100644
--- a/zabbix-agent.service
+++ b/zabbix-agent.service
@@ -3,10 +3,10 @@ Description=Zabbix Monitor Agent
After=syslog.target network.target
[Service]
-Type=oneshot
+Type=forking
ExecStart=/usr/sbin/zabbix_agentd
-RemainAfterExit=yes
User=zabbix
+PIDFile=/run/zabbix/zabbix_agentd.pid
[Install]
WantedBy=multi-user.target
diff --git a/zabbix-proxy-mysql.service b/zabbix-proxy-mysql.service
index 6464a5a..8f962f9 100644
--- a/zabbix-proxy-mysql.service
+++ b/zabbix-proxy-mysql.service
@@ -3,10 +3,10 @@ Description=Zabbix MySQL Proxy Agent
After=syslog.target network.target mysqld.service
[Service]
-Type=oneshot
+Type=forking
ExecStart=/usr/sbin/zabbix_proxy
-RemainAfterExit=yes
User=zabbixsrv
+PIDFile=/run/zabbix/zabbix_proxy.pid
[Install]
WantedBy=multi-user.target
diff --git a/zabbix-proxy-pgsql.service b/zabbix-proxy-pgsql.service
index 5d52fd9..d2bb7e4 100644
--- a/zabbix-proxy-pgsql.service
+++ b/zabbix-proxy-pgsql.service
@@ -3,10 +3,10 @@ Description=Zabbix PostgreSQL Proxy Agent
After=syslog.target network.target postgresql.service
[Service]
-Type=oneshot
+Type=forking
ExecStart=/usr/sbin/zabbix_proxy
-RemainAfterExit=yes
User=zabbixsrv
+PIDFile=/run/zabbix/zabbix_proxy.pid
[Install]
WantedBy=multi-user.target
diff --git a/zabbix-proxy-sqlite3.service b/zabbix-proxy-sqlite3.service
index a102fc0..5cfadfc 100644
--- a/zabbix-proxy-sqlite3.service
+++ b/zabbix-proxy-sqlite3.service
@@ -3,10 +3,10 @@ Description=Zabbix SQLite3 Proxy Agent
After=syslog.target network.target
[Service]
-Type=oneshot
+Type=forking
ExecStart=/usr/sbin/zabbix_proxy
-RemainAfterExit=yes
User=zabbixsrv
+PIDFile=/run/zabbix/zabbix_proxy.pid
[Install]
WantedBy=multi-user.target
diff --git a/zabbix-server-mysql.service b/zabbix-server-mysql.service
index 9c0217b..20e20b4 100644
--- a/zabbix-server-mysql.service
+++ b/zabbix-server-mysql.service
@@ -3,10 +3,10 @@ Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service
[Service]
-Type=oneshot
+Type=forking
ExecStart=/usr/sbin/zabbix_server
-RemainAfterExit=yes
User=zabbixsrv
+PIDFile=/run/zabbix/zabbix_server.pid
[Install]
WantedBy=multi-user.target
diff --git a/zabbix-server-pgsql.service b/zabbix-server-pgsql.service
index a196b4c..8247d96 100644
--- a/zabbix-server-pgsql.service
+++ b/zabbix-server-pgsql.service
@@ -3,10 +3,10 @@ Description=Zabbix Server with PostgreSQL DB
After=syslog.target network.target postgresql.service
[Service]
-Type=oneshot
+Type=forking
ExecStart=/usr/sbin/zabbix_server
-RemainAfterExit=yes
User=zabbixsrv
+PIDFile=/run/zabbix/zabbix_server.pid
[Install]
WantedBy=multi-user.target
diff --git a/zabbix-tmpfiles.conf b/zabbix-tmpfiles.conf
index 3099a5d..4596c33 100644
--- a/zabbix-tmpfiles.conf
+++ b/zabbix-tmpfiles.conf
@@ -1 +1 @@
-D /var/run/zabbix 0775 zabbix zabbix -
+D /run/zabbix 0775 zabbix zabbix -
diff --git a/zabbix.spec b/zabbix.spec
index 773d65d..1bb630e 100644
--- a/zabbix.spec
+++ b/zabbix.spec
@@ -18,16 +18,14 @@
%global srcname zabbix
Name: zabbix
-Version: 2.0.12
-Release: 3%{?dist}
+Version: 2.0.13
+Release: 1%{?dist}
Summary: Open-source monitoring solution for your IT infrastructure
Group: Applications/Internet
License: GPLv2+
URL: http://www.zabbix.com
-#Source0: http://downloads.sourceforge.net/%{srcname}/%{srcname}-%{version}.tar.gz
-# upstream tarball minus src/zabbix_java/lib/org-json-2010-12-28.jar
-Source0: %{srcname}-%{version}-free.tar.gz
+Source0: http://downloads.sourceforge.net/%{srcname}/%{srcname}-%{version}.tar.gz
Source1: %{srcname}-web.conf
Source5: %{srcname}-logrotate.in
Source9: %{srcname}-tmpfiles.conf
@@ -51,11 +49,6 @@ Patch1: %{srcname}-2.0.3-fonts-config.patch
Patch2: %{srcname}-2.0.1-no-flash.patch
# adapt for fping3 - https://support.zabbix.com/browse/ZBX-4894
Patch3: %{srcname}-1.8.12-fping3.patch
-# logrt may continue reading an old file repeatedly.
-Patch4: %{srcname}-2.0.12-zbx8238.patch
-# Local file inclusion via XXE attack (CVE-2014-3005)
-# https://support.zabbix.com/browse/ZBX-8151
-Patch5: %{srcname}-2.0.12-zbx8151.patch
BuildRequires: mysql-devel
BuildRequires: postgresql-devel
@@ -99,6 +92,7 @@ multitude of servers.
%package server
Summary: Zabbix server common files
Group: Applications/Internet
+BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: %{name}-server-implementation = %{version}-%{release}
Requires: fping
@@ -138,7 +132,7 @@ Provides: %{name}-server-implementation = %{version}-%{release}
Zabbix server compiled to use PostgresSQL
%package agent
-Summary: Zabbix Agent
+Summary: Zabbix agent
Group: Applications/Internet
Requires: %{name} = %{version}-%{release}
Requires(pre): shadow-utils
@@ -147,11 +141,12 @@ Requires(preun): systemd
Requires(postun): systemd
%description agent
-The Zabbix client agent, to be installed on monitored systems.
+Zabbix agent, to be installed on monitored systems
%package proxy
-Summary: Zabbix Proxy
+Summary: Zabbix proxy common files
Group: Applications/Internet
+BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: %{name}-proxy-implementation = %{version}-%{release}
Requires(pre): shadow-utils
@@ -254,8 +249,6 @@ Zabbix web frontend for PostgreSQL
rm -f frontends/php/images/flash/zbxclock.swf
%patch3 -p1
-%patch4 -p1
-%patch5 -p0
# Remove bundled java libs
rm -rf src/zabbix_java/lib/*.jar
@@ -282,7 +275,7 @@ rm -f frontends/php/conf/.htaccess
# Adapt configuration file options
sed -i \
- -e 's|# PidFile=.*|PidFile=%{_localstatedir}/run/zabbix/zabbix_agentd.pid|g' \
+ -e 's|# PidFile=.*|PidFile=/run/zabbix/zabbix_agentd.pid|g' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/zabbix/zabbix_agentd.log|g' \
-e 's|# LogFileSize=.*|LogFileSize=0|g' \
-e 's|/usr/local||g' \
@@ -294,7 +287,7 @@ sed -i \
#TODO: It'd be better to leave the defaults in a commment and just override them, as they are still hard-coded!
sed -i \
- -e 's|# PidFile=.*|PidFile=%{_localstatedir}/run/zabbix/zabbix_server.pid|g' \
+ -e 's|# PidFile=.*|PidFile=/run/zabbix/zabbix_server.pid|g' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/zabbix/zabbix_server.log|g' \
-e 's|# LogFileSize=.*|LogFileSize=0|g' \
-e 's|# AlertScriptsPath=${datadir}/zabbix/|AlertScriptsPath=%{_sharedstatedir}/zabbixsrv/|g' \
@@ -307,7 +300,7 @@ sed -i \
#TODO: It'd be better to leave the defaults in a commment and just override them, as they are still hard-coded!
sed -i \
- -e 's|# PidFile=.*|PidFile=%{_localstatedir}/run/zabbix/zabbix_proxy.pid|g' \
+ -e 's|# PidFile=.*|PidFile=/run/zabbix/zabbix_proxy.pid|g' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/zabbix/zabbix_proxy.log|g' \
-e 's|# LogFileSize=.*|LogFileSize=0|g' \
-e 's|^DBUser=root|DBUser=zabbix|g' \
@@ -351,11 +344,13 @@ make %{?_smp_mflags}
mv src/zabbix_proxy/zabbix_proxy src/zabbix_proxy/zabbix_proxy_sqlite3
%configure $common_flags --with-mysql --enable-server
+make clean
make %{?_smp_mflags}
mv src/zabbix_server/zabbix_server src/zabbix_server/zabbix_server_mysql
mv src/zabbix_proxy/zabbix_proxy src/zabbix_proxy/zabbix_proxy_mysql
%configure $common_flags --with-postgresql --enable-server
+make clean
make %{?_smp_mflags}
mv src/zabbix_server/zabbix_server src/zabbix_server/zabbix_server_pgsql
mv src/zabbix_proxy/zabbix_proxy src/zabbix_proxy/zabbix_proxy_pgsql
@@ -372,7 +367,6 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{srcname}/web
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/zabbix
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/zabbix
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
# Frontend
@@ -447,9 +441,11 @@ done
install -dm 755 $RPM_BUILD_ROOT%{_datadir}/%{srcname}-sqlite3
cp -p database/sqlite3/schema.sql $RPM_BUILD_ROOT%{_datadir}/%{srcname}-sqlite3
-# systemd must create /var/run/%{srcname}
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
-install -m 0644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/zabbix.conf
+# systemd tmpfiles
+mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d
+install -m 0644 -p %{SOURCE9} $RPM_BUILD_ROOT%{_prefix}/lib/tmpfiles.d/zabbix.conf
+mkdir -p %{buildroot}/run
+install -d -m 0755 %{buildroot}/run/zabbix/
%post server
@@ -514,6 +510,9 @@ getent passwd zabbix > /dev/null || \
%pre server
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
getent passwd zabbixsrv > /dev/null || \
useradd -r -g zabbix -d %{_sharedstatedir}/zabbixsrv -s /sbin/nologin \
-c "Zabbix Monitoring System -- Proxy or server" zabbixsrv
@@ -524,6 +523,9 @@ getent passwd zabbixsrv > /dev/null || \
%pre proxy
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
getent passwd zabbixsrv > /dev/null || \
useradd -r -g zabbix -d %{_sharedstatedir}/zabbixsrv -s /sbin/nologin \
-c "Zabbix Monitoring System -- Proxy or server" zabbixsrv
@@ -575,7 +577,6 @@ fi
%dir %{_sysconfdir}/%{srcname}
%config(noreplace) %{_sysconfdir}/zabbix_agentd.conf
%config(noreplace) %{_sysconfdir}/%{srcname}/zabbix_agentd.conf
-%config(noreplace) %{_sysconfdir}/tmpfiles.d/zabbix.conf
%{_bindir}/zabbix_get
%{_bindir}/zabbix_sender
%{_mandir}/man1/zabbix_get.1*
@@ -583,6 +584,8 @@ fi
%files server
%doc misc/snmptrap/zabbix_trap_receiver.pl
+%attr(0775,zabbix,zabbix) %dir /run/zabbix/
+%{_prefix}/lib/tmpfiles.d/zabbix.conf
%attr(0775,root,zabbix) %dir %{_localstatedir}/log/zabbix
%attr(0600,zabbixsrv,zabbix) %config(noreplace) %{_sysconfdir}/zabbix_server.conf
%config(noreplace) %{_sysconfdir}/%{srcname}/zabbix_server.conf
@@ -606,6 +609,8 @@ fi
%files agent
%doc conf/zabbix_agentd/*.conf
+%attr(0775,zabbix,zabbix) %dir /run/zabbix/
+%{_prefix}/lib/tmpfiles.d/zabbix.conf
%attr(0775,root,zabbix) %dir %{_localstatedir}/log/zabbix
%config(noreplace) %{_sysconfdir}/zabbix_agent.conf
%config(noreplace) %{_sysconfdir}/%{srcname}/zabbix_agent.conf
@@ -620,6 +625,8 @@ fi
%files proxy
%doc misc/snmptrap/zabbix_trap_receiver.pl
+%attr(0775,zabbix,zabbix) %dir /run/zabbix/
+%{_prefix}/lib/tmpfiles.d/zabbix.conf
%attr(0775,root,zabbix) %dir %{_localstatedir}/log/zabbix
%attr(0600,zabbixsrv,zabbix) %config(noreplace) %{_sysconfdir}/zabbix_proxy.conf
%config(noreplace) %{_sysconfdir}/%{srcname}/zabbix_proxy.conf
@@ -657,6 +664,18 @@ fi
%files web-pgsql
%changelog
+* Wed Sep 10 2014 Volker Fröhlich <volker27 at gmx.at> - 2.0.13-1
+- New upstream release; Remove obsolete patches for ZBX-8151 and ZBX-8238
+- Use the upstream tarball, now that non-free json was replaced with android-json
+- Clean between builds, otherwise zabbix_{proxy,server} are compiled
+ again on install; make server and proxy package noarch now
+- Set the service type to forking in unit files (BZ 1132437),
+ add PIDFile entry, remove RemainAfterExit, change /var/run to /run
+- Install tmpfiles configuration in the proper location per guidelines,
+ thus solving the startup trouble due to missing directories
+ (respectively BZ 1115251, 1081584, 982001, 1135696)
+- Harmonize package descriptions and summaries
+
* Fri Jun 20 2014 Volker Fröhlich <volker27 at gmx.at> - 2.0.12-3
- Patch for ZBX-8151 (Local file inclusion via XXE attack) -- CVE-2014-3005
More information about the scm-commits
mailing list