zabbix/zabbix.spec
2015-01-26 06:40:49 -05:00

666 lines
22 KiB
RPMSpec

# TODO, maybe sometime:
# * Do something about mutex errors sometimes occurring when init scripts'
# restart is invoked; something like "sleep 2" between stop and start?
# * Use "Include" in zabbix_{agentd,proxy,server}.conf, point to corresponding
# /etc/zabbix/zabbix_*.conf.d/ dir; needs patching in order to not load
# various backup files (*.rpm{orig,new,save}, *~ etc) in that dir.
%global srcname zabbix
Summary: Open-source monitoring solution for your IT infrastructure
Name: zabbix
Version: 2.0.14
Release: 1
License: GPLv2+
Group: Monitoring
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
Source1: zabbix-web.conf
Source5: zabbix-logrotate.in
# tmpfiles for F >= 15 mandriva >= 2012
Source9: zabbix-tmpfiles.conf
# systemd units
Source10: zabbix-agent.service
Source11: zabbix-proxy-mysql.service
Source12: zabbix-proxy-pgsql.service
Source13: zabbix-proxy-sqlite3.service
Source14: zabbix-server-mysql.service
Source15: zabbix-server-pgsql.service
Source16: zabbix-server-sqlite3.service
# local rules for config files
Patch0: zabbix-2.0.1-config.patch
# local rules for config files - fonts
Patch1: zabbix-2.0.14-fonts-config.patch
# remove flash content (#737337)
# https://support.zabbix.com/browse/ZBX-4794
Patch2: zabbix-2.0.1-no-flash.patch
# adapt for fping3 - https://support.zabbix.com/browse/ZBX-4894
Patch3: zabbix-1.8.12-fping3.patch
BuildRequires: systemd-units
BuildRequires: mysql-devel
BuildRequires: net-snmp-devel
#BuildRequires: openldap-devel
BuildRequires: unixODBC-devel
BuildRequires: pkgconfig(gnutls)
BuildRequires: pkgconfig(iksemel)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(libssh2)
BuildRequires: pkgconfig(OpenIPMI)
BuildRequires: pkgconfig(sqlite3)
Requires: logrotate
Requires(pre): shadow-utils
%if %{srcname} != %{name}
Conflicts: %{srcname}
%endif
%description
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 front end. A web-based front end 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.
%files
%doc AUTHORS ChangeLog COPYING NEWS README
%dir %{_sysconfdir}/%{srcname}
%config(noreplace) %{_sysconfdir}/tmpfiles.d/zabbix.conf
%attr(0755,zabbix,zabbix) %dir %{_localstatedir}/lib/%{srcname}
%attr(0755,zabbix,zabbix) %dir %{_localstatedir}/log/%{srcname}
%{_bindir}/zabbix_get
%{_bindir}/zabbix_sender
%{_mandir}/man1/zabbix_get.1*
%{_mandir}/man1/zabbix_sender.1*
%pre
getent group zabbix > /dev/null || groupadd -r zabbix
getent passwd zabbix > /dev/null || \
useradd -r -g zabbix -d %{_localstatedir}/lib/%{srcname} -s /sbin/nologin \
-c "Zabbix Monitoring System" zabbix
:
#----------------------------------------------------------------------------
%package server
Summary: Zabbix server common files
Group: Monitoring
Requires: %{name} = %{EVRD}
Requires: %{name}-server-implementation = %{EVRD}
Requires: fping
Requires: traceroute
%description server
Zabbix server common files
%files server
%doc misc/snmptrap/zabbix_trap_receiver.pl
%attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix_server.conf
%{_sysconfdir}/%{srcname}/zabbix_server.conf
%attr(0755,zabbix,zabbix) %dir %{_sysconfdir}/%{srcname}/externalscripts
%config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-server
%ghost %{_unitdir}/zabbix-server.service
%{_mandir}/man8/zabbix_server.8*
#----------------------------------------------------------------------------
%package server-mysql
Summary: Zabbix server compiled to use MySQL
Group: Monitoring
Requires: %{name} = %{EVRD}
Requires: %{name}-server = %{EVRD}
Requires(post,preun,postun): systemd-units
Provides: %{name}-server-implementation = %{EVRD}
Conflicts: %{name}-server-pgsql
Conflicts: %{name}-server-sqlite3
%description server-mysql
Zabbix server compiled to use MySQL.
%files server-mysql
%{_docdir}/%{srcname}-server-mysql-%{version}/
%{_sbindir}/zabbix_server_mysql
%{_unitdir}/zabbix-server-mysql.service
%post server-mysql
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
ln -sf %{_unitdir}/zabbix-server-mysql.service %{_unitdir}/zabbix-server.service
%preun server-mysql
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-server-mysql.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-server-mysql.service > /dev/null 2>&1 || :
fi
%postun server-mysql
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-server-mysql.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package server-pgsql
Summary: Zabbix server compiled to use PostgresSQL
Group: Monitoring
Requires: %{name} = %{EVRD}
Requires: %{name}-server = %{EVRD}
Requires(post,preun,postun): systemd-units
Provides: %{name}-server-implementation = %{EVRD}
Conflicts: %{name}-server-mysql
Conflicts: %{name}-server-sqlite3
%description server-pgsql
Zabbix server compiled to use PostgresSQL.
%post server-pgsql
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
ln -sf %{_unitdir}/zabbix-server-pgsql.service %{_unitdir}/zabbix-server.service
%files server-pgsql
%{_docdir}/%{srcname}-server-pgsql-%{version}/
%{_sbindir}/zabbix_server_pgsql
%{_unitdir}/zabbix-server-pgsql.service
%preun server-pgsql
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-server-pgsql.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-server-pgsql.service > /dev/null 2>&1 || :
fi
%postun server-pgsql
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-server-pgsql.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package server-sqlite3
Summary: Zabbix server compiled to use SQLite
Group: Monitoring
Requires: %{name} = %{EVRD}
Requires: %{name}-server = %{EVRD}
Requires(post,preun,postun): systemd-units
Provides: %{name}-server-implementation = %{EVRD}
Conflicts: %{name}-server-mysql
Conflicts: %{name}-server-pgsql
%description server-sqlite3
Zabbix server compiled to use SQLite.
%files server-sqlite3
%{_docdir}/%{srcname}-server-sqlite3-%{version}/
%{_sbindir}/zabbix_server_sqlite3
%{_unitdir}/zabbix-server-sqlite3.service
%post server-sqlite3
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
ln -sf %{_unitdir}/zabbix-server-sqlite3.service %{_unitdir}/zabbix-server.service
%preun server-sqlite3
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-server-sqlite3.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-server-sqlite3.service > /dev/null 2>&1 || :
fi
%postun server-sqlite3
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-server-sqlite3.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package agent
Summary: Zabbix Agent
Group: Monitoring
Requires: %{name} = %{EVRD}
Requires(post,preun,postun): systemd-units
%description agent
The Zabbix client agent, to be installed on monitored systems.
%files agent
%doc conf/zabbix_agentd/*.conf
%config(noreplace) %{_sysconfdir}/zabbix_agent.conf
%{_sysconfdir}/%{srcname}/zabbix_agent.conf
%config(noreplace) %{_sysconfdir}/zabbix_agentd.conf
%{_sysconfdir}/%{srcname}/zabbix_agentd.conf
%config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-agent
%{_unitdir}/zabbix-agent.service
%{_sbindir}/zabbix_agent
%{_sbindir}/zabbix_agentd
%{_mandir}/man8/zabbix_agentd.8*
%post agent
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
%preun agent
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-agent.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-agent.service > /dev/null 2>&1 || :
fi
%postun agent
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-agent.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package proxy
Summary: Zabbix Proxy
Group: Monitoring
Requires: %{name} = %{version}-%{release}
Requires: %{name}-proxy-implementation = %{EVRD}
Requires: fping
%description proxy
The Zabbix proxy.
%files proxy
%doc misc/snmptrap/zabbix_trap_receiver.pl
%attr(0640,root,zabbix) %config(noreplace) %{_sysconfdir}/zabbix_proxy.conf
%{_sysconfdir}/%{srcname}/zabbix_proxy.conf
%attr(0755,zabbix,zabbix) %dir %{_sysconfdir}/%{srcname}/externalscripts
%config(noreplace) %{_sysconfdir}/logrotate.d/zabbix-proxy
%ghost %{_unitdir}/zabbix-proxy.service
%{_mandir}/man8/zabbix_proxy.8*
#----------------------------------------------------------------------------
%package proxy-mysql
Summary: Zabbix proxy compiled to use MySQL
Group: Monitoring
Requires: %{name}-proxy = %{EVRD}
Requires(post,preun,postun): systemd-units
Provides: %{name}-proxy-implementation = %{EVRD}
%description proxy-mysql
The Zabbix proxy compiled to use MySQL.
%files proxy-mysql
%{_docdir}/%{srcname}-proxy-mysql-%{version}/
%{_sbindir}/zabbix_proxy_mysql
%{_unitdir}/zabbix-proxy-mysql.service
%post proxy-mysql
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
ln -sf %{_unitdir}/zabbix-proxy-mysql.service %{_unitdir}/zabbix-proxy.service
%preun proxy-mysql
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-proxy-mysql.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-proxy-mysql.service > /dev/null 2>&1 || :
fi
%postun proxy-mysql
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-proxy-mysql.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package proxy-pgsql
Summary: Zabbix proxy compiled to use PostgreSQL
Group: Monitoring
Requires: %{name}-proxy = %{EVRD}
Requires(post,preun,postun): systemd-units
Provides: %{name}-proxy-implementation = %{EVRD}
%description proxy-pgsql
The Zabbix proxy compiled to use PostgreSQL.
%files proxy-pgsql
%{_docdir}/%{srcname}-proxy-pgsql-%{version}/
%{_sbindir}/zabbix_proxy_pgsql
%{_unitdir}/zabbix-proxy-pgsql.service
%post proxy-pgsql
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
ln -sf %{_unitdir}/zabbix-proxy-pgsql.service %{_unitdir}/zabbix-proxy.service
%preun proxy-pgsql
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-proxy-pgsql.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-proxy-pgsql.service > /dev/null 2>&1 || :
fi
%postun proxy-pgsql
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-proxy-pgsql.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package proxy-sqlite3
Summary: Zabbix proxy compiled to use SQLite
Group: Monitoring
Requires: %{name}-proxy = %{EVRD}
Requires(post,preun,postun): systemd-units
Provides: %{name}-proxy-implementation = %{EVRD}
%description proxy-sqlite3
The Zabbix proxy compiled to use SQLite.
%files proxy-sqlite3
%{_docdir}/%{srcname}-proxy-sqlite3-%{version}/
%{_sbindir}/zabbix_proxy_sqlite3
%{_unitdir}/zabbix-proxy-sqlite3.service
%post proxy-sqlite3
if [ $1 -eq 1 ] ; then
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
fi
ln -sf %{_unitdir}/zabbix-proxy-sqlite3.service %{_unitdir}/zabbix-proxy.service
%preun proxy-sqlite3
if [ $1 -eq 0 ] ; then
/bin/systemctl --no-reload disable zabbix-proxy-sqlite3.service > /dev/null 2>&1 || :
/bin/systemctl stop zabbix-proxy-sqlite3.service > /dev/null 2>&1 || :
fi
%postun proxy-sqlite3
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
if [ $1 -ge 1 ] ; then
/bin/systemctl try-restart zabbix-proxy-sqlite3.service >/dev/null 2>&1 || :
fi
#----------------------------------------------------------------------------
%package web
Summary: Zabbix Web Frontend
Group: Monitoring
Requires: php
Requires: php-gd
Requires: php-bcmath
Requires: php-mbstring
Requires: php-xml
Requires: php-gettext
Requires: fonts-ttf-dejavu
Requires: %{name} = %{EVRD}
Requires: %{name}-web-database = %{EVRD}
BuildArch: noarch
%description web
The php frontend to display the Zabbix web interface.
%files web
%dir %attr(0750,apache,apache) %{_sysconfdir}/%{srcname}/web
%ghost %attr(0644,apache,apache) %config(noreplace) %{_sysconfdir}/%{srcname}/web/zabbix.conf.php
%config(noreplace) %{_sysconfdir}/httpd/conf.d/zabbix.conf
%{_datadir}/%{srcname}
#----------------------------------------------------------------------------
%package web-mysql
Summary: Zabbix web frontend for MySQL
Group: Monitoring
Requires: %{name}-web = %{EVRD}
Requires: php-mysql
Provides: %{name}-web-database = %{EVRD}
Conflicts: %{name}-web-pgsql
Conflicts: %{name}-web-sqlite3
BuildArch: noarch
%description web-mysql
Zabbix web frontend for MySQL.
%files web-mysql
#----------------------------------------------------------------------------
%package web-pgsql
Summary: Zabbix web frontend for PostgreSQL
Group: Monitoring
Requires: %{name}-web = %{EVRD}
Requires: php-pgsql
Provides: %{name}-web-database = %{EVRD}
Conflicts: %{name}-web-mysql
Conflicts: %{name}-web-sqlite3
BuildArch: noarch
%description web-pgsql
Zabbix web frontend for PostgreSQL.
%files web-pgsql
#----------------------------------------------------------------------------
%package web-sqlite3
Summary: Zabbix web frontend for SQLite
Group: Monitoring
Requires: %{name}-web = %{EVRD}
# Need to use the same db file as the server
Requires: %{name}-server-sqlite3 = %{EVRD}
Provides: %{name}-web-database = %{EVRD}
Conflicts: %{name}-web-mysql
Conflicts: %{name}-web-pgsql
BuildArch: noarch
%description web-sqlite3
Zabbix web frontend for SQLite.
%files web-sqlite3
#----------------------------------------------------------------------------
%prep
%setup0 -q -n %{srcname}-%{version}
%patch0 -p1
%patch1 -p1
%patch3 -p1
# remove bundled java libs
rm -rf src/zabbix_java/lib/*.jar
# remove included fonts
rm -rf frontends/php/fonts
# remove executable permissions
chmod a-x upgrades/dbpatches/*/mysql/upgrade
# All libraries are expected in /usr/lib or /usr/local/lib
# https://support.zabbix.com/browse/ZBXNEXT-1296
sed -i.orig -e 's|_LIBDIR=/usr/lib|_LIBDIR=%{_libdir}|g' \
configure
# kill off .htaccess files, options set in SOURCE1
rm -f frontends/php/include/.htaccess
rm -f frontends/php/api/.htaccess
rm -f frontends/php/conf/.htaccess
# set timestamp on modified config file and directories
touch -r frontends/php/css.css frontends/php/include/config.inc.php \
frontends/php/include/defines.inc.php \
frontends/php/include \
frontends/php/include/classes
# remove prebuilt Windows binaries
rm -rf bin
# remove flash applet
# https://support.zabbix.com/browse/ZBX-4794
rm -f frontend/php/images/flash/zbxclock.swf
%patch2 -p1
%build
common_flags="
--enable-dependency-tracking
--enable-server
--enable-agent
--enable-proxy
--enable-ipv6
--disable-java
--with-net-snmp
--with-ldap
--with-libcurl
--with-openipmi
--with-jabber
--with-unixodbc
--with-ssh2
"
%configure2_5x $common_flags --with-mysql
%make
mv src/zabbix_server/zabbix_server src/zabbix_server/zabbix_server_mysql
mv src/zabbix_proxy/zabbix_proxy src/zabbix_proxy/zabbix_proxy_mysql
%configure2_5x $common_flags --with-postgresql
%make
mv src/zabbix_server/zabbix_server src/zabbix_server/zabbix_server_pgsql
mv src/zabbix_proxy/zabbix_proxy src/zabbix_proxy/zabbix_proxy_pgsql
%configure2_5x $common_flags --with-sqlite3
%make
mv src/zabbix_server/zabbix_server src/zabbix_server/zabbix_server_sqlite3
mv src/zabbix_proxy/zabbix_proxy src/zabbix_proxy/zabbix_proxy_sqlite3
touch src/zabbix_server/zabbix_server
touch src/zabbix_proxy/zabbix_proxy
%install
# set up some required directories
mkdir -p %{buildroot}%{_sysconfdir}/%{srcname}
mkdir -p %{buildroot}%{_sysconfdir}/%{srcname}/externalscripts
mkdir -p %{buildroot}%{_sysconfdir}/%{srcname}/web
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
mkdir -p %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{_datadir}
mkdir -p %{buildroot}%{_localstatedir}/lib/%{srcname}
mkdir -p %{buildroot}%{_localstatedir}/log/%{srcname}
mkdir -p %{buildroot}%{_localstatedir}/run/%{srcname}
# install the frontend
cp -a frontends/php %{buildroot}%{_datadir}/%{srcname}
# prepare ghosted config file
touch %{buildroot}%{_sysconfdir}/%{srcname}/web/zabbix.conf.php
# drop Apache config file in place
install -m 0644 -p %{SOURCE1} %{buildroot}%{_sysconfdir}/httpd/conf.d/%{srcname}.conf
# fix config file options
sed -i \
-e 's|# PidFile=.*|PidFile=%{_localstatedir}/run/%{srcname}/zabbix_agentd.pid|g' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/%{srcname}/zabbix_agentd.log|g' \
-e 's|# LogFileSize=.*|LogFileSize=0|g' \
conf/zabbix_agentd.conf
sed -i \
-e 's|# PidFile=.*|PidFile=%{_localstatedir}/run/%{srcname}/zabbix.pid|g' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/%{srcname}/zabbix_server.log|g' \
-e 's|# LogFileSize=.*|LogFileSize=0|g' \
-e 's|# AlertScriptsPath=/home/zabbix/bin/|AlertScriptsPath=%{_localstatedir}/lib/%{srcname}/|g' \
-e 's|^DBUser=root|DBUser=zabbix|g' \
-e 's|# DBSocket=/tmp/mysql.sock|DBSocket=%{_localstatedir}/lib/mysql/mysql.sock|g' \
conf/zabbix_server.conf
sed -i \
-e 's|# PidFile=.*|PidFile=%{_localstatedir}/run/%{srcname}/zabbix_proxy.pid|g' \
-e 's|^LogFile=.*|LogFile=%{_localstatedir}/log/%{srcname}/zabbix_proxy.log|g' \
-e 's|# LogFileSize=.*|LogFileSize=0|g' \
-e 's|# AlertScriptsPath=/home/zabbix/bin/|AlertScriptsPath=%{_localstatedir}/lib/%{srcname}/|g' \
-e 's|^DBUser=root|DBUser=zabbix|g' \
-e 's|# DBSocket=/tmp/mysql.sock|DBSocket=%{_localstatedir}/lib/mysql/mysql.sock|g' \
conf/zabbix_proxy.conf
# install log rotation
cat %{SOURCE5} | sed -e 's|COMPONENT|server|g' > \
%{buildroot}%{_sysconfdir}/logrotate.d/zabbix-server
cat %{SOURCE5} | sed -e 's|COMPONENT|agentd|g' > \
%{buildroot}%{_sysconfdir}/logrotate.d/zabbix-agent
cat %{SOURCE5} | sed -e 's|COMPONENT|proxy|g' > \
%{buildroot}%{_sysconfdir}/logrotate.d/zabbix-proxy
# systemd units
install -m 0644 -p %{SOURCE10} %{buildroot}%{_unitdir}/zabbix-agent.service
install -m 0644 -p %{SOURCE11} %{buildroot}%{_unitdir}/zabbix-proxy-mysql.service
install -m 0644 -p %{SOURCE12} %{buildroot}%{_unitdir}/zabbix-proxy-pgsql.service
install -m 0644 -p %{SOURCE13} %{buildroot}%{_unitdir}/zabbix-proxy-sqlite3.service
install -m 0644 -p %{SOURCE14} %{buildroot}%{_unitdir}/zabbix-server-mysql.service
install -m 0644 -p %{SOURCE15} %{buildroot}%{_unitdir}/zabbix-server-pgsql.service
install -m 0644 -p %{SOURCE16} %{buildroot}%{_unitdir}/zabbix-server-sqlite3.service
touch %{buildroot}%{_unitdir}/zabbix-proxy.service
touch %{buildroot}%{_unitdir}/zabbix-server.service
# install
make DESTDIR=%{buildroot} install
rm %{buildroot}%{_sbindir}/zabbix_server
install -m 0755 -p src/zabbix_server/zabbix_server_* %{buildroot}%{_sbindir}/
rm %{buildroot}%{_sbindir}/zabbix_proxy
install -m 0755 -p src/zabbix_proxy/zabbix_proxy_* %{buildroot}%{_sbindir}/
# install compatibility links for config files
ln -sf %{_sysconfdir}/zabbix_agent.conf %{buildroot}%{_sysconfdir}/%{srcname}/zabbix_agent.conf
ln -sf %{_sysconfdir}/zabbix_agentd.conf %{buildroot}%{_sysconfdir}/%{srcname}/zabbix_agentd.conf
ln -sf %{_sysconfdir}/zabbix_server.conf %{buildroot}%{_sysconfdir}/%{srcname}/zabbix_server.conf
ln -sf %{_sysconfdir}/zabbix_proxy.conf %{buildroot}%{_sysconfdir}/%{srcname}/zabbix_proxy.conf
# nuke static libs and empty oracle upgrade sql
rm -rf %{buildroot}%{_libdir}/libzbx*.a
# copy sql files to appropriate per package locations
for pkg in proxy server ; do
docdir=%{buildroot}%{_docdir}/%{srcname}-$pkg-mysql-%{version}
install -dm 755 $docdir
cp -p --parents database/mysql/schema.sql $docdir
cp -p --parents database/mysql/data.sql $docdir
cp -p --parents database/mysql/images.sql $docdir
cp -pR --parents upgrades/dbpatches/1.6/mysql $docdir
cp -pR --parents upgrades/dbpatches/1.8/mysql $docdir
cp -pR --parents upgrades/dbpatches/2.0/mysql $docdir
docdir=%{buildroot}%{_docdir}/%{srcname}-$pkg-pgsql-%{version}
install -dm 755 $docdir
cp -p --parents database/postgresql/schema.sql $docdir
cp -p --parents database/postgresql/data.sql $docdir
cp -p --parents database/postgresql/images.sql $docdir
cp -pR --parents upgrades/dbpatches/1.6/postgresql $docdir
cp -pR --parents upgrades/dbpatches/1.8/postgresql $docdir
cp -pR --parents upgrades/dbpatches/2.0/postgresql $docdir
docdir=%{buildroot}%{_docdir}/%{srcname}-$pkg-sqlite3-%{version}
install -dm 755 $docdir
cp -p --parents database/sqlite3/schema.sql $docdir
cp -p --parents database/sqlite3/data.sql $docdir
cp -p --parents database/sqlite3/images.sql $docdir
done
# remove extraneous ones
rm -rf %{buildroot}%{_datadir}/%{srcname}/create
# systemd must create /var/run/%{srcname}
mkdir -p %{buildroot}%{_sysconfdir}/tmpfiles.d
install -m 0644 %{SOURCE9} %{buildroot}%{_sysconfdir}/tmpfiles.d/zabbix.conf