1 %define debug_package %{nil}
3 %define _prefix /usr/local/zabbix
8 Group: System Environment/Daemons
10 Summary: ZABBIX network monitor server
12 URL: http://www.zabbix.org
13 Packager: Eugene Grigorjev <eugene.grigorjev@zabbix.com>
14 Source: zabbix-1.6.1.tar.gz
17 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
22 %define zabbix_bindir %{_prefix}/bin
23 %define zabbix_datadir %{_prefix}/misc
24 %define zabbix_confdir %{_prefix}/conf
25 %define zabbix_initdir %{_prefix}/init.d
26 %define zabbix_docdir %{_prefix}/doc
27 %define zabbix_webdir /var/www/html/zabbix
28 #%define zabbix_piddir %{_tmppath}
29 #%define zabbix_logdir %{_tmppath}
31 %define zabbix_piddir /var/run
32 %define zabbix_logdir /var/log
35 The ZABBIX server is a network monitor
38 Summary: ZABBIX network monitor agent daemon
39 Group: System Environment/Daemons
41 The ZABBIX client is a network monitor
44 Summary: ZABBIX network monitor server daemon
45 Group: System Environment/Daemons
46 BuildPrereq: postgresql-devel
47 BuildPrereq: net-snmp-devel
48 #BuildPrereq: gnutls-devel
49 #BuildPrereq: libtasn1-devel
52 Requires: postgresql-server
56 The ZABBIX server is a network monitor
59 Summary: ZABBIX network monitor server frontend
60 Group: Productivity/Networking/Web/Frontends
63 Requires: postgresql-server
66 The ZABBIX gui frontend
69 %setup -n zabbix-1.6.1
73 # TODO: there must be a better way. unfortunately, this package doesn't build
74 # after running ./configure from a subdir, i.e. mkdir client; cd client; ../configure... ; make-> fails.
81 ./configure --enable-static --enable-agent
86 ./configure --enable-server --with-pgsql --with-net-snmp --with-libcurl
91 rm -fr $RPM_BUILD_ROOT
94 rm -fr $RPM_BUILD_ROOT
96 ################# SERVER
99 install -d %{buildroot}%{zabbix_docdir}
100 install -m 644 server/AUTHORS %{buildroot}%{zabbix_docdir}/AUTHORS
101 install -m 644 server/COPYING %{buildroot}%{zabbix_docdir}/COPYING
102 install -m 644 server/NEWS %{buildroot}%{zabbix_docdir}/NEWS
103 install -m 644 server/README %{buildroot}%{zabbix_docdir}/README
106 install -d %{buildroot}%{zabbix_bindir}
107 install -s -m 755 server/src/zabbix_server/zabbix_server %{buildroot}%{zabbix_bindir}/zabbix_server
110 install -d %{buildroot}%{zabbix_confdir}
111 install -m 755 server/misc/conf/zabbix_server.conf %{buildroot}%{zabbix_confdir}/zabbix_server.conf
112 install -d %{buildroot}/etc/zabbix
113 install -m 755 server/misc/conf/zabbix_server.conf %{buildroot}/etc/zabbix
115 # copy startup script
116 install -d %{buildroot}%{zabbix_initdir}
117 install -m 755 server/misc/init.d/fedora/core/zabbix_server %{buildroot}%{zabbix_initdir}/zabbix_server
119 install -d %{buildroot}%{zabbix_datadir}
120 cp -r server/create %{buildroot}%{zabbix_datadir}
122 ################# CLIENT
124 install -d %{buildroot}%{zabbix_bindir}
125 install -s -m 755 client/src/zabbix_agent/zabbix_agentd %{buildroot}%{zabbix_bindir}/zabbix_agentd
128 install -d %{buildroot}%{zabbix_confdir}
129 install -m 755 client/misc/conf/zabbix_agentd.conf %{buildroot}%{zabbix_confdir}/zabbix_agentd.conf
130 install -d %{buildroot}/etc/zabbix
131 install -m 755 client/misc/conf/zabbix_agentd.conf %{buildroot}/etc/zabbix
133 # copy startup script
134 install -d %{buildroot}%{zabbix_initdir}
135 install -m 755 client/misc/init.d/fedora/core/zabbix_agentd %{buildroot}%{zabbix_initdir}/zabbix_agentd
137 ################# GUI
139 install -d %{buildroot}%{zabbix_webdir}
140 cp -r frontends/php/* %{buildroot}%{zabbix_webdir}
143 # create ZABBIX group
144 if [ -z "`grep zabbix /etc/group`" ]; then
145 /usr/sbin/groupadd zabbix >/dev/null 2>&1
149 if [ -z "`grep zabbix /etc/passwd`" ]; then
150 /usr/sbin/useradd -g zabbix zabbix >/dev/null 2>&1
153 # configure ZABBIX agentd daemon
154 TMP_FILE=`mktemp $TMPDIR/zbxtmpXXXXXX`
156 # TODO: setup Server=, Hostname=,
157 SERVER=`grep PLC_MONITOR_HOST /etc/planetlab/plc_config | tr "'" ' ' | awk '{print $2}'`
159 sed -e "s#Hostname=.*#Hostname=$HOST#g" \
160 -e "s#Server=.*#Server=$SERVER#g" \
161 -e "s#PidFile=/var/tmp/zabbix_agentd.pid#PidFile=%{zabbix_piddir}/zabbix_agentd.pid#g" \
162 -e "s#LogFile=/tmp/zabbix_agentd.log#LogFile=%{zabbix_logdir}/zabbix_agentd.log#g" \
163 %{zabbix_confdir}/zabbix_agentd.conf > $TMP_FILE
164 cat $TMP_FILE > %{zabbix_confdir}/zabbix_agentd.conf
166 cp %{zabbix_confdir}/zabbix_agentd.conf /etc/zabbix/
167 # TODO: copy to /etc/zabbix/
169 sed -e "s#BASEDIR=/opt/zabbix#BASEDIR=%{_prefix}#g" \
170 -e "s#PIDFILE=/var/tmp/zabbix_agentd.pid#PIDFILE=%{zabbix_piddir}/zabbix_agentd.pid#g" \
171 %{zabbix_initdir}/zabbix_agentd > $TMP_FILE
172 cat $TMP_FILE > %{zabbix_initdir}/zabbix_agentd
173 # TODO: copy to /etc/init.d/
174 cp %{zabbix_initdir}/zabbix_agentd /etc/init.d
178 chkconfig zabbix_agentd on
182 # create ZABBIX group
183 if [ -z "`grep zabbix /etc/group`" ]; then
184 /usr/sbin/groupadd zabbix >/dev/null 2>&1
188 if [ -z "`grep zabbix /etc/passwd`" ]; then
189 /usr/sbin/useradd -g zabbix zabbix >/dev/null 2>&1
192 # configure ZABBIX server daemon
193 TMP_FILE=`mktemp $TMPDIR/zbxtmpXXXXXX`
195 # SETUP DBHost, DBName, DBUser, DBPassword
196 #SERVER=`grep PLC_MONITOR_HOST /etc/planetlab/plc_config | tr "'" ' ' | awk '{print $2}'`
198 sed -e "s#AlertScriptsPath=/home/zabbix/bin/#AlertScriptsPath=%{zabbix_bindir}/#g" \
199 -e "s#PidFile=/var/tmp/zabbix_server.pid#PidFile=%{zabbix_piddir}/zabbix_server.pid#g" \
200 -e "s#LogFile=/tmp/zabbix_server.log#LogFile=%{zabbix_logdir}/zabbix_server.log#g" \
201 %{zabbix_confdir}/zabbix_server.conf > $TMP_FILE
202 cat $TMP_FILE > %{zabbix_confdir}/zabbix_server.conf
204 cp %{zabbix_confdir}/zabbix_server.conf /etc/zabbix/
206 sed -e "s#BASEDIR=/opt/zabbix#BASEDIR=%{_prefix}#g" \
207 -e "s#PIDFILE=/var/tmp/zabbix_server.pid#PIDFILE=%{zabbix_piddir}/zabbix_server.pid#g" \
208 %{zabbix_initdir}/zabbix_server > $TMP_FILE
209 cat $TMP_FILE > %{zabbix_initdir}/zabbix_server
210 cp %{zabbix_initdir}/zabbix_server /etc/init.d
214 chkconfig zabbix_server on
217 rm -f %{zabbix_piddir}/zabbix_server.pid
218 rm -f %{zabbix_logdir}/zabbix_server.log
220 rm -f %{zabbix_piddir}/zabbix_agentd.pid
221 rm -f %{zabbix_logdir}/zabbix_agentd.log
224 %defattr(-,root,root)
226 %dir %attr(0755,root,root) %{zabbix_confdir}
227 %attr(0644,root,root) %config(noreplace) %{zabbix_confdir}/zabbix_agentd.conf
229 %dir %attr(0755,root,root) %{zabbix_bindir}
230 %attr(0755,root,root) %{zabbix_bindir}/zabbix_agentd
232 %dir %attr(0755,root,root) %{zabbix_initdir}
233 %attr(0755,root,root) %{zabbix_initdir}/zabbix_agentd
235 %config /etc/zabbix/zabbix_agentd.conf
238 %defattr(-,root,root)
240 %dir %attr(0755,root,root) %{zabbix_docdir}
241 %attr(0644,root,root) %{zabbix_docdir}/AUTHORS
242 %attr(0644,root,root) %{zabbix_docdir}/COPYING
243 %attr(0644,root,root) %{zabbix_docdir}/NEWS
244 %attr(0644,root,root) %{zabbix_docdir}/README
246 %dir %attr(0755,root,root) %{zabbix_confdir}
247 %attr(0644,root,root) %config(noreplace) %{zabbix_confdir}/zabbix_server.conf
249 %dir %attr(0755,root,root) %{zabbix_bindir}
250 %attr(0755,root,root) %{zabbix_bindir}/zabbix_server
252 %dir %attr(0755,root,root) %{zabbix_initdir}
253 %attr(0755,root,root) %{zabbix_initdir}/zabbix_server
255 %dir %attr(0755,root,root) %{zabbix_datadir}
256 %attr(0755,root,root) %{zabbix_datadir}/create/
258 %config /etc/zabbix/zabbix_server.conf
261 %defattr(-,root,root)
262 %dir %{zabbix_webdir}
266 * Tue Nov 11 2008 Stephen Soltesz <soltesz@cs.princeton.edu>
268 - initial re-packaging
270 * Thu Dec 01 2005 Eugene Grigorjev <eugene.grigorjev@zabbix.com>