Merge branch 'collectd-5.0'
[collectd.git] / contrib / redhat / collectd.spec
1
2 %define with_java %(test -z "$JAVA_HOME" ; echo $?)
3
4 Summary:        Statistics collection daemon for filling RRD files.
5 Name:           collectd
6 Version:        5.0.1
7 Release:        1%{?dist}
8 Source:         http://collectd.org/files/%{name}-%{version}.tar.gz
9 License:        GPL
10 Group:          System Environment/Daemons
11 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
12 BuildPrereq:    lm_sensors-devel, rrdtool-devel, libpcap-devel, net-snmp-devel, libstatgrab-devel, libxml2-devel, libiptcdata-devel
13 # libcurl deps
14 BuildPrereq:    curl-devel,libidn-devel,openssl-devel
15 Requires:       rrdtool, perl-Regexp-Common, libstatgrab
16 Packager:       RightScale <support@rightscale.com>
17 Vendor:         collectd development team <collectd@verplant.org>
18
19 %description
20 collectd is a small daemon which collects system information periodically and
21 provides mechanisms to monitor and store the values in a variety of ways. It
22 is written in C for performance. Since the daemon doesn't need to startup
23 every time it wants to update the values it's very fast and easy on the
24 system. Also, the statistics are very fine grained since the files are updated
25 every 10 seconds.
26
27
28 %package apache
29 Summary:        apache-plugin for collectd.
30 Group:          System Environment/Daemons
31 Requires:       collectd = %{version}, curl
32 %description apache
33 This plugin collects data provided by Apache's `mod_status'.
34
35 %package email
36 Summary:        email-plugin for collectd.
37 Group:          System Environment/Daemons
38 Requires:       collectd = %{version}, spamassassin
39 %description email
40 This plugin collects data provided by spamassassin.
41
42 %package mysql
43 Summary:        mysql-module for collectd.
44 Group:          System Environment/Daemons
45 Requires:       collectd = %{version}, mysql
46 %description mysql
47 MySQL querying plugin. This plugins provides data of issued commands, called
48 handlers and database traffic.
49
50 %package nginx
51 Summary:        nginx-plugin for collectd.
52 Group:          System Environment/Daemons
53 Requires:       collectd = %{version}, curl
54 %description nginx
55 This plugin gets data provided by nginx.
56
57 %package sensors
58 Summary:        libsensors-module for collectd.
59 Group:          System Environment/Daemons
60 Requires:       collectd = %{version}, lm_sensors
61 %description sensors
62 This plugin for collectd provides querying of sensors supported by lm_sensors.
63
64 %package snmp
65 Summary:        snmp-module for collectd.
66 Group:          System Environment/Daemons
67 Requires:       collectd = %{version}, net-snmp
68 %description snmp
69 This plugin for collectd allows querying of network equipment using SNMP.
70
71 %if %with_java
72 %package java
73 Summary:        java-module for collectd.
74 Group:          System Environment/Daemons
75 Requires:       collectd = %{version}, jdk >= 1.6
76 BuildPrereq:    jdk >= 1.6
77 %description java
78 This plugin for collectd allows plugins to be written in Java and executed
79 in an embedded JVM.
80 %endif
81
82 %prep
83 rm -rf $RPM_BUILD_ROOT
84 %setup
85
86 %build
87 ./configure CFLAGS=-"DLT_LAZY_OR_NOW='RTLD_LAZY|RTLD_GLOBAL'" --prefix=%{_prefix} --sbindir=%{_sbindir} --mandir=%{_mandir} --libdir=%{_libdir} --sysconfdir=%{_sysconfdir} \
88     %{!?with_java:"--with-java=$JAVA_HOME --enable-java"} \
89     --disable-battery
90 make
91
92 %install
93 make install DESTDIR=$RPM_BUILD_ROOT
94 mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
95 mkdir -p $RPM_BUILD_ROOT/var/www/cgi-bin
96 cp contrib/redhat/init.d-collectd $RPM_BUILD_ROOT/etc/rc.d/init.d/collectd
97 cp contrib/collection.cgi $RPM_BUILD_ROOT/var/www/cgi-bin
98 mkdir -p $RPM_BUILD_ROOT/etc/collectd.d
99 mkdir -p $RPM_BUILD_ROOT/var/lib/collectd
100 ### Clean up docs
101 find contrib/ -type f -exec %{__chmod} a-x {} \;
102
103 ###Modify Config for Redhat Based Distros
104 sed -i 's:#BaseDir     "/usr/var/lib/collectd":BaseDir     "/var/lib/collectd":' $RPM_BUILD_ROOT/etc/collectd.conf
105 sed -i 's:#PIDFile     "/usr/var/run/collectd.pid":PIDFile     "/var/run/collectd.pid":' $RPM_BUILD_ROOT/etc/collectd.conf
106 sed -i 's:#PluginDir   "/usr/lib/collectd":PluginDir   "%{_libdir}/collectd":' $RPM_BUILD_ROOT/etc/collectd.conf
107 sed -i 's:#TypesDB     "/usr/share/collectd/types.db":TypesDB     "/usr/share/collectd/types.db":' $RPM_BUILD_ROOT/etc/collectd.conf
108 sed -i 's:#Interval     10:Interval     30:' $RPM_BUILD_ROOT/etc/collectd.conf
109 sed -i 's:#ReadThreads  5:ReadThreads  5:' $RPM_BUILD_ROOT/etc/collectd.conf
110 ###Include broken out config directory
111 echo -e '\nInclude "/etc/collectd.d"' >> $RPM_BUILD_ROOT/etc/collectd.conf
112
113 ##Move config contribs
114 cp contrib/redhat/apache.conf $RPM_BUILD_ROOT/etc/collectd.d/apache.conf
115 cp contrib/redhat/email.conf $RPM_BUILD_ROOT/etc/collectd.d/email.conf
116 cp contrib/redhat/sensors.conf $RPM_BUILD_ROOT/etc/collectd.d/sensors.conf
117 cp contrib/redhat/mysql.conf $RPM_BUILD_ROOT/etc/collectd.d/mysql.conf
118 cp contrib/redhat/nginx.conf $RPM_BUILD_ROOT/etc/collectd.d/nginx.conf
119 cp contrib/redhat/snmp.conf $RPM_BUILD_ROOT/etc/collectd.d/snmp.conf
120
121 %clean
122 rm -rf $RPM_BUILD_ROOT
123
124 %post
125 /sbin/chkconfig --add collectd
126 /sbin/chkconfig collectd on
127
128 %preun
129 if [ "$1" = 0 ]; then
130    /sbin/chkconfig collectd off
131    /etc/init.d/collectd stop
132    /sbin/chkconfig --del collectd
133 fi
134 exit 0
135
136 %postun
137 if [ "$1" -ge 1 ]; then
138     /etc/init.d/collectd restart
139 fi
140 exit 0
141
142 %files
143 %defattr(-,root,root)
144 %doc AUTHORS COPYING ChangeLog INSTALL NEWS README contrib/
145 %config %attr(0644,root,root) /etc/collectd.conf
146 %attr(0755,root,root) /etc/rc.d/init.d/collectd
147 %attr(0755,root,root) /var/www/cgi-bin/collection.cgi
148 %attr(0755,root,root) %{_sbindir}/collectd
149 %attr(0755,root,root) %{_bindir}/collectd-nagios
150 %attr(0755,root,root) %{_bindir}/collectdctl
151 %attr(0755,root,root) %{_sbindir}/collectdmon
152 %attr(0644,root,root) %{_mandir}/man1/*
153 %attr(0644,root,root) %{_mandir}/man5/*
154 %dir /etc/collectd.d
155
156 # client
157 %attr(0644,root,root) /usr/include/collectd/client.h
158 %attr(0644,root,root) /usr/include/collectd/lcc_features.h
159
160 %attr(0644,root,root) %{_libdir}/libcollectdclient.*
161 %attr(0644,root,root) %{_libdir}/pkgconfig/libcollectdclient.pc
162
163 # macro to grab binaries for a plugin, given a name
164 %define plugin_macro() \
165 %attr(0644,root,root) %{_libdir}/%{name}/%1.a \
166 %attr(0644,root,root) %{_libdir}/%{name}/%1.so* \
167 %attr(0644,root,root) %{_libdir}/%{name}/%1.la
168
169 %plugin_macro apcups
170 %plugin_macro ascent
171 %plugin_macro bind
172 %plugin_macro conntrack
173 %plugin_macro contextswitch
174 %plugin_macro cpufreq
175 %plugin_macro cpu
176 %plugin_macro csv
177 %plugin_macro curl
178 %plugin_macro curl_xml
179 %plugin_macro df
180 %plugin_macro disk
181 %plugin_macro dns
182 %plugin_macro entropy
183 %plugin_macro email
184 %plugin_macro exec
185 %plugin_macro filecount
186 %plugin_macro fscache
187 %plugin_macro hddtemp
188 %plugin_macro interface
189 %plugin_macro iptables
190 %plugin_macro irq
191 %plugin_macro load
192 %plugin_macro logfile
193 %plugin_macro madwifi
194
195 %plugin_macro match_empty_counter
196 %plugin_macro match_hashed
197 %plugin_macro match_regex
198 %plugin_macro match_timediff
199 %plugin_macro match_value
200
201 %plugin_macro mbmon
202 %plugin_macro memcachec
203 %plugin_macro memcached
204 %plugin_macro memory
205 %plugin_macro multimeter
206 %plugin_macro network
207 %plugin_macro nfs
208 %plugin_macro ntpd
209 %plugin_macro openvpn
210 %plugin_macro olsrd
211 %plugin_macro perl
212 %plugin_macro powerdns
213 %plugin_macro processes
214 %plugin_macro protocols
215 %plugin_macro python
216 %plugin_macro rrdtool
217 %plugin_macro serial
218 %plugin_macro sensors
219 %plugin_macro swap
220 %plugin_macro syslog
221 %plugin_macro table
222 %plugin_macro tail
223
224 %plugin_macro target_notification
225 %plugin_macro target_replace
226 %plugin_macro target_scale
227 %plugin_macro target_set
228 %plugin_macro target_v5upgrade
229
230 %plugin_macro tcpconns
231 %plugin_macro teamspeak2
232 %plugin_macro ted
233 %plugin_macro thermal
234 %plugin_macro threshold
235
236 %plugin_macro unixsock
237 %plugin_macro uptime
238 %plugin_macro users
239 %plugin_macro uuid
240 %plugin_macro vmem
241 %plugin_macro vserver
242 %plugin_macro wireless
243 %plugin_macro write_http
244
245 %attr(0644,root,root) %{_datadir}/%{name}/types.db
246
247 %exclude %{_libdir}/perl5/5.8.8/%{_arch}-linux-thread-multi/perllocal.pod
248 %attr(0644,root,root) %{_libdir}/perl5/site_perl/5.8.8/%{_arch}-linux-thread-multi/auto/Collectd/.packlist
249 %attr(0644,root,root) /usr/lib/perl5/site_perl/5.8.8/Collectd.pm
250 %attr(0644,root,root) /usr/lib/perl5/site_perl/5.8.8/Collectd/Unixsock.pm
251 %attr(0644,root,root) /usr/lib/perl5/site_perl/5.8.8/Collectd/Plugins/OpenVZ.pm
252 %attr(0644,root,root) /usr/lib/perl5/site_perl/5.8.8/Collectd/Plugins/Monitorus.pm
253 %attr(0644,root,root) /usr/share/man/man3/Collectd::Unixsock.3pm.gz
254
255 %exclude /usr/share/collectd/postgresql_default.conf
256
257 %dir /var/lib/collectd
258
259 %if %with_java
260 %files java
261 /usr/share/collectd/java/collectd-api.jar
262 /usr/share/collectd/java/generic-jmx.jar
263 %plugin_macro java
264 %endif
265
266 %files apache
267 %config %attr(0644,root,root) /etc/collectd.d/apache.conf
268 %plugin_macro apache
269
270 %files email
271 %attr(0644,root,root) %{_libdir}/%{name}/email.so*
272 %attr(0644,root,root) %{_libdir}/%{name}/email.la
273 %config %attr(0644,root,root) /etc/collectd.d/email.conf
274
275 %files mysql
276 %config %attr(0644,root,root) /etc/collectd.d/mysql.conf
277 %plugin_macro mysql
278
279 %files nginx
280 %config %attr(0644,root,root) /etc/collectd.d/nginx.conf
281 %plugin_macro nginx
282
283 %files sensors
284 %attr(0644,root,root) %{_libdir}/%{name}/sensors.so*
285 %attr(0644,root,root) %{_libdir}/%{name}/sensors.la
286 %config %attr(0644,root,root) /etc/collectd.d/sensors.conf
287
288 %files snmp
289 %attr(0644,root,root) /etc/collectd.d/snmp.conf
290 %plugin_macro snmp
291
292 %changelog
293 * Tue Jan 03 2011 Monetate <jason.stelzer@monetate.com> 5.0.1
294 - New upstream version
295 - Changes to support 5.0.1
296
297 * Tue Jan 04 2010 Rackspace <stu.hood@rackspace.com> 4.9.0
298 - New upstream version
299 - Changes to support 4.9.0
300 - Added support for Java/GenericJMX plugin
301
302 * Mon Mar 17 2008 RightScale <support@rightscale.com> 4.3.1
303 - New upstream version
304 - Changes to support 4.3.1
305 - Added More Prereqs to support more plugins
306 - Added support for perl plugin
307
308 * Mon Aug 06 2007 Kjell Randa <Kjell.Randa@broadpark.no> 4.0.6
309 - New upstream version
310
311 * Wed Jul 25 2007 Kjell Randa <Kjell.Randa@broadpark.no> 4.0.5
312 - New major releas
313 - Changes to support 4.0.5
314
315 * Wed Jan 11 2007 Iain Lea <iain@bricbrac.de> 3.11.0-0
316 - fixed spec file to build correctly on fedora core
317 - added improved init.d script to work with chkconfig
318 - added %post and %postun to call chkconfig automatically
319
320 * Sun Jul 09 2006 Florian octo Forster <octo@verplant.org> 3.10.0-1
321 - New upstream version
322
323 * Tue Jun 25 2006 Florian octo Forster <octo@verplant.org> 3.9.4-1
324 - New upstream version
325
326 * Tue Jun 01 2006 Florian octo Forster <octo@verplant.org> 3.9.3-1
327 - New upstream version
328
329 * Tue May 09 2006 Florian octo Forster <octo@verplant.org> 3.9.2-1
330 - New upstream version
331
332 * Tue May 09 2006 Florian octo Forster <octo@verplant.org> 3.8.5-1
333 - New upstream version
334
335 * Fri Apr 21 2006 Florian octo Forster <octo@verplant.org> 3.9.1-1
336 - New upstream version
337
338 * Fri Apr 14 2006 Florian octo Forster <octo@verplant.org> 3.9.0-1
339 - New upstream version
340 - Added the `apache' package.
341
342 * Thu Mar 14 2006 Florian octo Forster <octo@verplant.org> 3.8.2-1
343 - New upstream version
344
345 * Thu Mar 13 2006 Florian octo Forster <octo@verplant.org> 3.8.1-1
346 - New upstream version
347
348 * Thu Mar 09 2006 Florian octo Forster <octo@verplant.org> 3.8.0-1
349 - New upstream version
350
351 * Sat Feb 18 2006 Florian octo Forster <octo@verplant.org> 3.7.2-1
352 - Include `tape.so' so the build doesn't terminate because of missing files..
353 - New upstream version
354
355 * Sat Feb 04 2006 Florian octo Forster <octo@verplant.org> 3.7.1-1
356 - New upstream version
357
358 * Mon Jan 30 2006 Florian octo Forster <octo@verplant.org> 3.7.0-1
359 - New upstream version
360 - Removed the extra `hddtemp' package
361
362 * Tue Jan 24 2006 Florian octo Forster <octo@verplant.org> 3.6.2-1
363 - New upstream version
364
365 * Fri Jan 20 2006 Florian octo Forster <octo@verplant.org> 3.6.1-1
366 - New upstream version
367
368 * Fri Jan 20 2006 Florian octo Forster <octo@verplant.org> 3.6.0-1
369 - New upstream version
370 - Added config file, `collectd.conf(5)', `df.so'
371 - Added package `collectd-mysql', dependency on `mysqlclient10 | mysql'
372
373 * Wed Dec 07 2005 Florian octo Forster <octo@verplant.org> 3.5.0-1
374 - New upstream version
375
376 * Sat Nov 26 2005 Florian octo Forster <octo@verplant.org> 3.4.0-1
377 - New upstream version
378
379 * Sat Nov 05 2005 Florian octo Forster <octo@verplant.org> 3.3.0-1
380 - New upstream version
381
382 * Tue Oct 26 2005 Florian octo Forster <octo@verplant.org> 3.2.0-1
383 - New upstream version
384 - Added statement to remove the `*.la' files. This fixes a problem when
385   `Unpackaged files terminate build' is in effect.
386 - Added `processes.so*' to the main package
387
388 * Fri Oct 14 2005 Florian octo Forster <octo@verplant.org> 3.1.0-1
389 - New upstream version
390 - Added package `collectd-hddtemp'
391
392 * Fri Sep 30 2005 Florian octo Forster <octo@verplant.org> 3.0.0-1
393 - New upstream version
394 - Split the package into `collectd' and `collectd-sensors'
395
396 * Fri Sep 16 2005 Florian octo Forster <octo@verplant.org> 2.1.0-1
397 - New upstream version
398
399 * Mon Sep 10 2005 Florian octo Forster <octo@verplant.org> 2.0.0-1
400 - New upstream version
401
402 * Mon Aug 29 2005 Florian octo Forster <octo@verplant.org> 1.8.0-1
403 - New upstream version
404
405 * Sun Aug 25 2005 Florian octo Forster <octo@verplant.org> 1.7.0-1
406 - New upstream version
407
408 * Sun Aug 21 2005 Florian octo Forster <octo@verplant.org> 1.6.0-1
409 - New upstream version
410
411 * Sun Jul 17 2005 Florian octo Forster <octo@verplant.org> 1.5.1-1
412 - New upstream version
413
414 * Sun Jul 17 2005 Florian octo Forster <octo@verplant.org> 1.5-1
415 - New upstream version
416
417 * Mon Jul 11 2005 Florian octo Forster <octo@verplant.org> 1.4.2-1
418 - New upstream version
419
420 * Sat Jul 09 2005 Florian octo Forster <octo@verplant.org> 1.4-1
421 - Built on RedHat 7.3