Merge branch 'collectd-5.5'
[collectd.git] / contrib / redhat / collectd.spec
1 #
2 # q: What is this ?
3 # a: A specfile for building RPM packages of current collectd releases, for
4 #    RHEL/CentOS versions 5, 6 and 7. By default all the plugins which are
5 #    buildable based on the libraries available in the distribution + the
6 #    EPEL repository, will be built. Plugins depending on external libs will
7 #    be packaged in separate RPMs.
8 #
9 # q: And how can I do that ?
10 # a: By following these instructions, using mock:
11 #
12 # - install and configure mock (https://fedoraproject.org/wiki/Projects/Mock)
13 #
14 # - enable the EPEL repository (http://dl.fedoraproject.org/pub/epel/) in the
15 #   configuration files for your target systems (/etc/mock/*.cfg).
16 #
17 # - fetch the desired collectd release file from https://collectd.org/files/
18 #   and save it in your ~/rpmbuild/SOURCES/ directory (or build your own out of
19 #   the git repository: ./build.sh && ./configure && make-dist-bz2)
20 #
21 # - copy this file in your ~/rpmbuild/SPECS/ directory. Make sure the
22 #   "Version:" tag matches the version from the tarball.
23 #
24 # - build the SRPM first:
25 #   mock -r centos-6-x86_64 --buildsrpm --spec ~/rpmbuild/SPECS/collectd.spec \
26 #     --sources ~/rpmbuild/SOURCES/
27 #
28 # - then build the RPMs:
29 #   mock -r centos-6-x86_64 --no-clean --rebuild \
30 #     /var/lib/mock/centos-6-x86_64/result/collectd-X.Y.Z-NN.src.rpm
31 #
32 # - you can also optionally enable/disable plugins which are disabled/enabled
33 #   by default:
34 #   mock -r centos-6-x86_64 --no-clean --without=java --with=oracle --rebuild \
35 #     /var/lib/mock/centos-6-x86_64/result/collectd-X.Y.Z-NN.src.rpm
36 #
37
38 %global _hardened_build 1
39 %{?perl_default_filter}
40
41 # plugins only buildable on RHEL6
42 # (NB: %{elN} macro is not available on RHEL < 6)
43 %{?el6:%global _has_libyajl 1}
44 %{?el6:%global _has_recent_libpcap 1}
45 %{?el6:%global _has_recent_sockios_h 1}
46 %{?el6:%global _has_recent_libganglia 1}
47 %{?el6:%global _has_working_libiptc 1}
48 %{?el6:%global _has_ip_vs_h 1}
49 %{?el6:%global _has_lvm2app_h 1}
50 %{?el6:%global _has_libmodbus 1}
51 %{?el6:%global _has_libudev 1}
52 %{?el6:%global _has_iproute 1}
53 %{?el6:%global _has_atasmart 1}
54 %{?el6:%global _has_hiredis 1}
55 %{?el6:%global _has_asm_msr_index 1}
56
57 %{?el7:%global _has_libyajl 1}
58 %{?el7:%global _has_recent_libpcap 1}
59 %{?el7:%global _has_recent_sockios_h 1}
60 %{?el7:%global _has_working_libiptc 1}
61 %{?el7:%global _has_ip_vs_h 1}
62 %{?el7:%global _has_lvm2app_h 1}
63 %{?el7:%global _has_libudev 1}
64 %{?el7:%global _has_recent_librrd 1}
65 %{?el7:%global _has_varnish4 1}
66 %{?el7:%global _has_broken_libmemcached 1}
67 %{?el7:%global _has_iproute 1}
68 %{?el7:%global _has_atasmart 1}
69 %{?el7:%global _has_hiredis 1}
70 %{?el7:%global _has_asm_msr_index 1}
71 %{?el7:%global _has_libmosquitto 1}
72
73 # plugins enabled by default
74 %define with_aggregation 0%{!?_without_aggregation:1}
75 %define with_amqp 0%{!?_without_amqp:1}
76 %define with_apache 0%{!?_without_apache:1}
77 %define with_apcups 0%{!?_without_apcups:1}
78 %define with_ascent 0%{!?_without_ascent:1}
79 %define with_battery 0%{!?_without_battery:1}
80 %define with_bind 0%{!?_without_bind:1}
81 %define with_ceph 0%{!?_without_ceph:0%{?_has_libyajl}}
82 %define with_cgroups 0%{!?_without_cgroups:1}
83 %define with_conntrack 0%{!?_without_conntrack:1}
84 %define with_contextswitch 0%{!?_without_contextswitch:1}
85 %define with_cpu 0%{!?_without_cpu:1}
86 %define with_cpufreq 0%{!?_without_cpufreq:1}
87 %define with_csv 0%{!?_without_csv:1}
88 %define with_curl 0%{!?_without_curl:1}
89 %define with_curl_json 0%{!?_without_curl_json:0%{?_has_libyajl}}
90 %define with_curl_xml 0%{!?_without_curl_xml:1}
91 %define with_dbi 0%{!?_without_dbi:1}
92 %define with_df 0%{!?_without_df:1}
93 %define with_disk 0%{!?_without_disk:1}
94 %define with_dns 0%{!?_without_dns:0%{?_has_recent_libpcap}}
95 %define with_drbd 0%{!?_without_drbd:1}
96 %define with_email 0%{!?_without_email:1}
97 %define with_entropy 0%{!?_without_entropy:1}
98 %define with_ethstat 0%{!?_without_ethstat:0%{?_has_recent_sockios_h}}
99 %define with_exec 0%{!?_without_exec:1}
100 %define with_fhcount 0%{!?_without_fhcount:1}
101 %define with_filecount 0%{!?_without_filecount:1}
102 %define with_fscache 0%{!?_without_fscache:1}
103 %define with_gmond 0%{!?_without_gmond:0%{?_has_recent_libganglia}}
104 %define with_hddtemp 0%{!?_without_hddtemp:1}
105 %define with_interface 0%{!?_without_interface:1}
106 %define with_ipc 0%{!?_without_ipc:1}
107 %define with_ipmi 0%{!?_without_ipmi:1}
108 %define with_iptables 0%{!?_without_iptables:0%{?_has_working_libiptc}}
109 %define with_ipvs 0%{!?_without_ipvs:0%{?_has_ip_vs_h}}
110 %define with_irq 0%{!?_without_irq:1}
111 %define with_java 0%{!?_without_java:1}
112 %define with_virt 0%{!?_without_virt:1}
113 %define with_load 0%{!?_without_load:1}
114 %define with_logfile 0%{!?_without_logfile:1}
115 %define with_log_logstash 0%{!?_without_log_logstash:0%{?_has_libyajl}}
116 %define with_lvm 0%{!?_without_lvm:0%{?_has_lvm2app_h}}
117 %define with_madwifi 0%{!?_without_madwifi:1}
118 %define with_mbmon 0%{!?_without_mbmon:1}
119 %define with_md 0%{!?_without_md:1}
120 %define with_memcachec 0%{!?_without_memcachec:0%{!?_has_broken_libmemcached:1}}
121 %define with_memcached 0%{!?_without_memcached:1}
122 %define with_memory 0%{!?_without_memory:1}
123 %define with_multimeter 0%{!?_without_multimeter:1}
124 %define with_modbus 0%{!?_without_modbus:0%{?_has_libmodbus}}
125 %define with_mqtt 0%{!?_without_mqtt:0%{?_has_libmosquitto}}
126 %define with_mysql 0%{!?_without_mysql:1}
127 %define with_netlink 0%{!?_without_netlink:0%{?_has_iproute}}
128 %define with_network 0%{!?_without_network:1}
129 %define with_nfs 0%{!?_without_nfs:1}
130 %define with_nginx 0%{!?_without_nginx:1}
131 %define with_notify_desktop 0%{!?_without_notify_desktop:1}
132 %define with_notify_email 0%{!?_without_notify_email:1}
133 %define with_notify_nagios 0%{!?_without_notify_nagios:1}
134 %define with_ntpd 0%{!?_without_ntpd:1}
135 %define with_numa 0%{!?_without_numa:1}
136 %define with_nut 0%{!?_without_nut:1}
137 %define with_olsrd 0%{!?_without_olsrd:1}
138 %define with_openldap 0%{!?_without_openldap:1}
139 %define with_openvpn 0%{!?_without_openvpn:1}
140 %define with_perl 0%{!?_without_perl:1}
141 %define with_pinba 0%{!?_without_pinba:1}
142 %define with_ping 0%{!?_without_ping:1}
143 %define with_postgresql 0%{!?_without_postgresql:1}
144 %define with_powerdns 0%{!?_without_powerdns:1}
145 %define with_processes 0%{!?_without_processes:1}
146 %define with_protocols 0%{!?_without_protocols:1}
147 %define with_python 0%{!?_without_python:1}
148 %define with_redis 0%{!?_without_redis:0%{?_has_hiredis}}
149 %define with_rrdcached 0%{!?_without_rrdcached:0%{?_has_recent_librrd}}
150 %define with_rrdtool 0%{!?_without_rrdtool:1}
151 %define with_sensors 0%{!?_without_sensors:1}
152 %define with_serial 0%{!?_without_serial:1}
153 %define with_smart 0%{!?_without_smart:0%{?_has_atasmart}}
154 %define with_snmp 0%{!?_without_snmp:1}
155 %define with_statsd 0%{!?_without_statsd:1}
156 %define with_swap 0%{!?_without_swap:1}
157 %define with_syslog 0%{!?_without_syslog:1}
158 %define with_table 0%{!?_without_table:1}
159 %define with_tail 0%{!?_without_tail:1}
160 %define with_tail_csv 0%{!?_without_tail_csv:1}
161 %define with_tcpconns 0%{!?_without_tcpconns:1}
162 %define with_teamspeak2 0%{!?_without_teamspeak2:1}
163 %define with_ted 0%{!?_without_ted:1}
164 %define with_thermal 0%{!?_without_thermal:1}
165 %define with_threshold 0%{!?_without_threshold:1}
166 %define with_turbostat 0%{!?_without_turbostat:0%{?_has_asm_msr_index}}
167 %define with_unixsock 0%{!?_without_unixsock:1}
168 %define with_uptime 0%{!?_without_uptime:1}
169 %define with_users 0%{!?_without_users:1}
170 %define with_uuid 0%{!?_without_uuid:1}
171 %define with_varnish 0%{!?_without_varnish:0%{!?_has_varnish4:1}}
172 %define with_vmem 0%{!?_without_vmem:1}
173 %define with_vserver 0%{!?_without_vserver:1}
174 %define with_wireless 0%{!?_without_wireless:1}
175 %define with_write_graphite 0%{!?_without_write_graphite:1}
176 %define with_write_http 0%{!?_without_write_http:1}
177 %define with_write_log 0%{!?_without_write_log:1}
178 %define with_write_redis 0%{!?_without_write_redis:0%{?_has_hiredis}}
179 %define with_write_riemann 0%{!?_without_write_riemann:1}
180 %define with_write_sensu 0%{!?_without_write_sensu:1}
181 %define with_write_tsdb 0%{!?_without_write_tsdb:1}
182 %define with_zfs_arc 0%{!?_without_zfs_arc:1}
183 %define with_zookeeper 0%{!?_without_zookeeper:1}
184
185 # Plugins not built by default because of dependencies on libraries not
186 # available in RHEL or EPEL:
187
188 # plugin apple_sensors disabled, requires a Mac
189 %define with_apple_sensors 0%{!?_without_apple_sensors:0}
190 # plugin aquaero disabled, requires a libaquaero5
191 %define with_aquaero 0%{!?_without_aquaero:0}
192 # plugin barometer disabled, requires a libi2c
193 %define with_barometer 0%{!?_without_barometer:0}
194 # plugin lpar disabled, requires AIX
195 %define with_lpar 0%{!?_without_lpar:0}
196 # plugin mic disabled, requires Mic
197 %define with_mic 0%{!?_without_mic:0}
198 # plugin netapp disabled, requires libnetapp
199 %define with_netapp 0%{!?_without_netapp:0}
200 # plugin onewire disabled, requires libowfs
201 %define with_onewire 0%{!?_without_onewire:0}
202 # plugin oracle disabled, requires Oracle
203 %define with_oracle 0%{!?_without_oracle:0}
204 # plugin oracle disabled, requires BSD
205 %define with_pf 0%{!?_without_pf:0}
206 # plugin routeros disabled, requires librouteros
207 %define with_routeros 0%{!?_without_routeros:0}
208 # plugin sigrok disabled, requires libsigrok
209 %define with_sigrok 0%{!?_without_sigrok:0}
210 # plugin tape disabled, requires libkstat
211 %define with_tape 0%{!?_without_tape:0}
212 # plugin tokyotyrant disabled, requires tcrdb.h
213 %define with_tokyotyrant 0%{!?_without_tokyotyrant:0}
214 # plugin write_kafka disabled, requires librdkafka
215 %define with_write_kafka 0%{!?_without_write_kafka:0}
216 # plugin write_mongodb disabled, requires libmongoc
217 %define with_write_mongodb 0%{!?_without_write_mongodb:0}
218 # plugin xmms disabled, requires xmms
219 %define with_xmms 0%{!?_without_xmms:0}
220 # plugin zone disabled, requires Solaris
221 %define with_zone 0%{!?_without_zone:0}
222
223 Summary:        statistics collection and monitoring daemon
224 Name:           collectd
225 Version:        5.5.0
226 Release:        1%{?dist}
227 URL:            http://collectd.org
228 Source:         http://collectd.org/files/%{name}-%{version}.tar.bz2
229 License:        GPLv2
230 Group:          System Environment/Daemons
231 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
232 BuildRequires:  libgcrypt-devel, kernel-headers, libtool-ltdl-devel, libcap-devel
233 Vendor:         collectd development team <collectd@verplant.org>
234
235 %if 0%{?el7:1}
236 Requires(pre):          initscripts
237 Requires(post):         systemd
238 Requires(preun):        systemd
239 Requires(postun):       systemd
240 %else
241 Requires(post):         chkconfig
242 Requires(preun):        chkconfig, initscripts
243 Requires(postun):       initscripts
244 %endif
245
246 %description
247 collectd is a small daemon which collects system information periodically and
248 provides mechanisms to monitor and store the values in a variety of ways. It
249 is written in C for performance. Since the daemon doesn't need to start up
250 every time it wants to update the values it's very fast and easy on the
251 system. Also, the statistics are very fine grained since the files are updated
252 every 10 seconds by default.
253
254 %if %{with_amqp}
255 %package amqp
256 Summary:        AMQP plugin for collectd
257 Group:          System Environment/Daemons
258 Requires:       %{name}%{?_isa} = %{version}-%{release}
259 BuildRequires:  librabbitmq-devel
260 %description amqp
261 The AMQP plugin transmits or receives values collected by collectd via the
262 Advanced Message Queuing Protocol (AMQP).
263 %endif
264
265 %if %{with_apache}
266 %package apache
267 Summary:        Apache plugin for collectd
268 Group:          System Environment/Daemons
269 Requires:       %{name}%{?_isa} = %{version}-%{release}
270 BuildRequires:  curl-devel
271 %description apache
272 This plugin collects data provided by Apache's `mod_status'.
273 %endif
274
275 %if %{with_aquaero}
276 %package aquaero
277 Summary:        aquaero plugin for collectd
278 Group:          System Environment/Daemons
279 Requires:       %{name}%{?_isa} = %{version}-%{release}
280 %description aquaero
281 Various sensors in the Aquaero 5 watercooling board made by Aquacomputer.
282 %endif
283
284 %if %{with_ascent}
285 %package ascent
286 Summary:        Ascent plugin for collectd
287 Group:          System Environment/Daemons
288 Requires:       %{name}%{?_isa} = %{version}-%{release}
289 BuildRequires:  libxml2-devel, curl-devel
290 %description ascent
291 The Ascent plugin reads and parses the statistics page of Ascent, a free and
292 open-source server software for the game World of Warcraft by Blizzard
293 Entertainment.
294 %endif
295
296 %if %{with_barometer}
297 %package barometer
298 Summary:       barometer plugin for collectd
299 Group:         System Environment/Daemons
300 Requires:      %{name}%{?_isa} = %{version}-%{release}
301 %description barometer
302 Collects pressure and temperature from digital barometers.
303 %endif
304
305 %if %{with_bind}
306 %package bind
307 Summary:        Bind plugin for collectd
308 Group:          System Environment/Daemons
309 Requires:       %{name}%{?_isa} = %{version}-%{release}
310 BuildRequires:  libxml2-devel, curl-devel
311 %description bind
312 The BIND plugin retrieves this information that's encoded in XML and provided
313 via HTTP and submits the values to collectd.
314 %endif
315
316 %if %{with_ceph}
317 %package ceph
318 Summary:       Ceph plugin for collectd
319 Group:         System Environment/Daemons
320 Requires:      %{name}%{?_isa} = %{version}-%{release}
321 BuildRequires: yajl-devel
322 %description ceph
323 Ceph plugin for collectd
324 %endif
325
326 %if %{with_curl}
327 %package curl
328 Summary:        Curl plugin for collectd
329 Group:          System Environment/Daemons
330 Requires:       %{name}%{?_isa} = %{version}-%{release}
331 BuildRequires:  curl-devel
332 %description curl
333 The cURL plugin uses libcurl to read files and then parses them according to
334 the configuration.
335 %endif
336
337 %if %{with_curl_json}
338 %package curl_json
339 Summary:        Curl_json plugin for collectd
340 Group:          System Environment/Daemons
341 Requires:       %{name}%{?_isa} = %{version}-%{release}
342 BuildRequires:  curl-devel, yajl-devel
343 %description curl_json
344 The cURL-JSON plugin queries JavaScript Object Notation (JSON) data using the
345 cURL library and parses it according to the user's configuration.
346 %endif
347
348 %if %{with_curl_xml}
349 %package curl_xml
350 Summary:        Curl_xml plugin for collectd
351 Group:          System Environment/Daemons
352 Requires:       %{name}%{?_isa} = %{version}-%{release}
353 BuildRequires:  curl-devel, libxml2-devel
354 %description curl_xml
355 The cURL-XML plugin reads files using libcurl and parses it as Extensible
356 Markup Language (XML).
357 %endif
358
359 %if %{with_dbi}
360 %package dbi
361 Summary:        DBI plugin for collectd
362 Group:          System Environment/Daemons
363 Requires:       %{name}%{?_isa} = %{version}-%{release}
364 BuildRequires:  libdbi-devel
365 %description dbi
366 The DBI plugin uses libdbi, a database abstraction library, to execute SQL
367 statements on a database and read back the result.
368 %endif
369
370 %if %{with_disk}
371 %package disk
372 Summary:        disk plugin for collectd
373 Group:          System Environment/Daemons
374 Requires:       %{name}%{?_isa} = %{version}-%{release}
375 %{?_has_libudev:BuildRequires:  libudev-devel}
376 %description disk
377 The "disk" plugin collects information about the usage of physical disks and
378 logical disks (partitions).
379 %endif
380
381 %if %{with_dns}
382 %package dns
383 Summary:        DNS plugin for collectd
384 Group:          System Environment/Daemons
385 Requires:       %{name}%{?_isa} = %{version}-%{release}, libpcap >= 1.0
386 BuildRequires:  libpcap-devel >= 1.0
387 %description dns
388 The DNS plugin has a similar functionality to dnstop: It uses libpcap to get a
389 copy of all traffic from/to port UDP/53 (that's the DNS port), interprets the
390 packets and collects statistics of your DNS traffic.
391 %endif
392
393 %if %{with_email}
394 %package email
395 Summary:        Email plugin for collectd
396 Group:          System Environment/Daemons
397 Requires:       %{name}%{?_isa} = %{version}-%{release}, spamassassin
398 %description email
399 This plugin collects data provided by spamassassin.
400 %endif
401
402 %if %{with_gmond}
403 %package gmond
404 Summary:        Gmond plugin for collectd
405 Group:          System Environment/Daemons
406 Requires:       %{name}%{?_isa} = %{version}-%{release}
407 BuildRequires:  ganglia-devel
408 %description gmond
409 The gmond plugin subscribes to a Multicast group to receive data from gmond,
410 the client daemon of the Ganglia project.
411 %endif
412
413 %if %{with_hddtemp}
414 %package hddtemp
415 Summary:        Hddtemp plugin for collectd
416 Group:          System Environment/Daemons
417 Requires:       %{name}%{?_isa} = %{version}-%{release}, hddtemp
418 %description hddtemp
419 The HDDTemp plugin collects the temperature of hard disks. The temperatures are
420 provided via SMART and queried by the external hddtemp daemon.
421 %endif
422
423 %if %{with_ipmi}
424 %package ipmi
425 Summary:        IPMI plugin for collectd
426 Group:          System Environment/Daemons
427 Requires:       %{name}%{?_isa} = %{version}-%{release}
428 BuildRequires:  OpenIPMI-devel
429 %description ipmi
430 The IPMI plugin uses the OpenIPMI library to read hardware sensors from servers
431 using the Intelligent Platform Management Interface (IPMI).
432 %endif
433
434 %if %{with_iptables}
435 %package iptables
436 Summary:        IPtables plugin for collectd
437 Group:          System Environment/Daemons
438 Requires:       %{name}%{?_isa} = %{version}-%{release}
439 BuildRequires:  iptables-devel
440 %description iptables
441 The IPtables plugin can gather statistics from your ip_tables based packet
442 filter (aka. firewall) for both the IPv4 and the IPv6 protocol. It can collect
443 the byte- and packet-counters of selected rules and submit them to collectd.
444 %endif
445
446 %if %{with_java}
447 %package java
448 Summary:        Java plugin for collectd
449 Group:          System Environment/Daemons
450 Requires:       %{name}%{?_isa} = %{version}-%{release}
451 BuildRequires:  java-devel, jpackage-utils
452 Requires:       java, jpackage-utils
453 %description java
454 This plugin for collectd allows plugins to be written in Java and executed
455 in an embedded JVM.
456 %endif
457
458 %if %{with_log_logstash}
459 %package log_logstash
460 Summary:       log_logstash plugin for collectd
461 Group:         System Environment/Daemons
462 Requires:      %{name}%{?_isa} = %{version}-%{release}
463 BuildRequires: yajl-devel
464 %description log_logstash
465 This plugin logs in logstash JSON format
466 %endif
467
468 %if %{with_lvm}
469 %package lvm
470 Summary:        LVM plugin for collectd
471 Group:          System Environment/Daemons
472 Requires:       %{name}%{?_isa} = %{version}-%{release}
473 BuildRequires:  lvm2-devel
474 %description lvm
475 This plugin collects size of “Logical Volumes” (LV) and “Volume Groups” (VG)
476 of Linux' “Logical Volume Manager” (LVM).
477 %endif
478
479 %if %{with_memcachec}
480 %package memcachec
481 Summary:        Memcachec plugin for collectd
482 Group:          System Environment/Daemons
483 Requires:       %{name}%{?_isa} = %{version}-%{release}
484 BuildRequires:  libmemcached-devel
485 %description memcachec
486 The Memcachec plugin uses libmemcached to read statistics from a Memcached
487 instance. Note that another plugin, named `memcached', exists and does a
488 similar job, without requiring the installation of libmemcached.
489 %endif
490
491 %if %{with_mic}
492 %package mic
493 Summary:        mic plugin for collectd
494 Group:          System Environment/Daemons
495 Requires:       %{name}%{?_isa} = %{version}-%{release}
496 %description mic
497 The mic plugin collects CPU usage, memory usage, temperatures and power
498 consumption from Intel Many Integrated Core (MIC) CPUs.
499 %endif
500
501 %if %{with_modbus}
502 %package modbus
503 Summary:       modbus plugin for collectd
504 Group:         System Environment/Daemons
505 Requires:      %{name}%{?_isa} = %{version}-%{release}
506 BuildRequires:  libmodbus-devel
507 %description modbus
508 The modbus plugin collects values from Modbus/TCP enabled devices
509 %endif
510
511 %if %{with_mysql}
512 %package mysql
513 Summary:        MySQL plugin for collectd
514 Group:          System Environment/Daemons
515 Requires:       %{name}%{?_isa} = %{version}-%{release}
516 BuildRequires:  mysql-devel
517 %description mysql
518 MySQL querying plugin. This plugin provides data of issued commands, called
519 handlers and database traffic.
520 %endif
521
522 %if %{with_mqtt}
523 %package mqtt
524 Summary:        mqtt plugin for collectd
525 Group:          System Environment/Daemons
526 Requires:       %{name}%{?_isa} = %{version}-%{release}
527 BuildRequires:  mosquitto-devel
528 %description mqtt
529 The MQTT plugin publishes and subscribes to MQTT topics.
530 %endif
531
532 %if %{with_netlink}
533 %package netlink
534 Summary:        netlink plugin for collectd
535 Group:          System Environment/Daemons
536 Requires:       %{name}%{?_isa} = %{version}-%{release}
537 BuildRequires:  libmnl-devel, iproute-devel
538 %description netlink
539 The netlink plugin collects detailed network interface and routing statistics.
540 %endif
541
542 %if %{with_nginx}
543 %package nginx
544 Summary:        Nginx plugin for collectd
545 Group:          System Environment/Daemons
546 Requires:       %{name}%{?_isa} = %{version}-%{release}
547 BuildRequires:  curl-devel
548 %description nginx
549 This plugin gets data provided by nginx.
550 %endif
551
552 %if %{with_notify_desktop}
553 %package notify_desktop
554 Summary:        Notify_desktop plugin for collectd
555 Group:          System Environment/Daemons
556 Requires:       %{name}%{?_isa} = %{version}-%{release}
557 BuildRequires:  libnotify-devel, gtk2-devel
558 %description notify_desktop
559 The Notify Desktop plugin uses libnotify to display notifications to the user
560 via the desktop notification specification, i. e. on an X display.
561 %endif
562
563 %if %{with_notify_email}
564 %package notify_email
565 Summary:        Notify_email plugin for collectd
566 Group:          System Environment/Daemons
567 Requires:       %{name}%{?_isa} = %{version}-%{release}
568 BuildRequires:  libesmtp-devel
569 %description notify_email
570 The Notify Email plugin uses libESMTP to send notifications to a configured
571 email address.
572 %endif
573
574 %if %{with_nut}
575 %package nut
576 Summary:        Nut plugin for collectd
577 Group:          System Environment/Daemons
578 Requires:       %{name}%{?_isa} = %{version}-%{release}
579 BuildRequires:  nut-devel
580 %description nut
581 This plugin for collectd provides Network UPS Tools support.
582 %endif
583
584 %if %{with_openldap}
585 %package openldap
586 Summary:       Openldap plugin for collectd
587 Group:         System Environment/Daemons
588 Requires:      %{name}%{?_isa} = %{version}-%{release}
589 BuildRequires: openldap-devel
590 %description openldap
591 This plugin reads monitoring information from OpenLDAP's cn=Monitor subtree.
592 %endif
593
594 %if %{with_perl}
595 %package perl
596 Summary:        Perl plugin for collectd
597 Group:          System Environment/Daemons
598 Requires:       %{name}%{?_isa} = %{version}-%{release}
599 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
600         %if 0%{?rhel} >= 6
601 BuildRequires:  perl-ExtUtils-Embed
602         %else
603 BuildRequires:  perl
604         %endif
605 %description perl
606 The Perl plugin embeds a Perl interpreter into collectd and exposes the
607 application programming interface (API) to Perl-scripts.
608 %endif
609
610 %if %{with_pinba}
611 %package pinba
612 Summary:        Pinba plugin for collectd
613 Group:          System Environment/Daemons
614 Requires:       %{name}%{?_isa} = %{version}-%{release}
615 BuildRequires:  protobuf-c-devel
616 %description pinba
617 The Pinba plugin receives and dispatches timing values from Pinba, a profiling
618 extension for PHP.
619 %endif
620
621 %if %{with_ping}
622 %package ping
623 Summary:        Ping plugin for collectd
624 Group:          System Environment/Daemons
625 Requires:       %{name}%{?_isa} = %{version}-%{release}
626 BuildRequires:  liboping-devel
627 %description ping
628 The Ping plugin measures network latency using ICMP “echo requests”, usually
629 known as “ping”.
630 %endif
631
632 %if %{with_postgresql}
633 %package postgresql
634 Summary:        PostgreSQL plugin for collectd
635 Group:          System Environment/Daemons
636 Requires:       %{name}%{?_isa} = %{version}-%{release}
637 BuildRequires:  postgresql-devel
638 %description postgresql
639 The PostgreSQL plugin connects to and executes SQL statements on a PostgreSQL
640 database.
641 %endif
642
643 %if %{with_python}
644 %package python
645 Summary:        Python plugin for collectd
646 Group:          System Environment/Daemons
647 Requires:       %{name}%{?_isa} = %{version}-%{release}
648         %if 0%{?rhel} >= 6
649 BuildRequires: python-devel
650         %else
651 BuildRequires: python26-devel
652         %endif
653 %description python
654 The Python plugin embeds a Python interpreter into collectd and exposes the
655 application programming interface (API) to Python-scripts.
656 %endif
657
658 %if %{with_redis}
659 %package redis
660 Summary:        Redis plugin for collectd
661 Group:          System Environment/Daemons
662 Requires:       %{name}%{?_isa} = %{version}-%{release}
663 BuildRequires:  hiredis-devel
664 %description redis
665 The Redis plugin connects to one or more instances of Redis, a key-value store,
666 and collects usage information using the hiredis library.
667 %endif
668
669 %if %{with_rrdcached}
670 %package rrdcached
671 Summary:        RRDCached plugin for collectd
672 Group:          System Environment/Daemons
673 Requires:       %{name}%{?_isa} = %{version}-%{release}, rrdtool >= 1.4
674 BuildRequires:  rrdtool-devel
675 %description rrdcached
676 The RRDCacheD plugin connects to the “RRD caching daemon”, rrdcached and
677 submits updates for RRD files to that daemon.
678 %endif
679
680 %if %{with_rrdtool}
681 %package rrdtool
682 Summary:        RRDtool plugin for collectd
683 Group:          System Environment/Daemons
684 Requires:       %{name}%{?_isa} = %{version}-%{release}
685 BuildRequires:  rrdtool-devel
686 %description rrdtool
687 The RRDtool plugin writes values to RRD-files using librrd.
688 %endif
689
690 %if %{with_sensors}
691 %package sensors
692 Summary:        Sensors plugin for collectd
693 Group:          System Environment/Daemons
694 Requires:       %{name}%{?_isa} = %{version}-%{release}
695 BuildRequires:  lm_sensors-devel
696 %description sensors
697 This plugin for collectd provides querying of sensors supported by lm_sensors.
698 %endif
699
700 %if %{with_sigrok}
701 %package sigrok
702 Summary:        sigrok plugin for collectd
703 Group:          System Environment/Daemons
704 Requires:       %{name}%{?_isa} = %{version}-%{release}
705 %description sigrok
706 Uses libsigrok as a backend, allowing any sigrok-supported device to have its
707 measurements fed to collectd. This includes multimeters, sound level meters,
708 thermometers, and much more.
709 %endif
710
711 %if %{with_smart}
712 %package smart
713 Summary:       SMART plugin for collectd
714 Group:         System Environment/Daemons
715 Requires:      %{name}%{?_isa} = %{version}-%{release}
716 BuildRequires: libatasmart-devel
717 %description smart
718 Collect SMART statistics, notably load cycle count, temperature and bad
719 sectors.
720 %endif
721
722 %if %{with_snmp}
723 %package snmp
724 Summary:        SNMP plugin for collectd
725 Group:          System Environment/Daemons
726 Requires:       %{name}%{?_isa} = %{version}-%{release}
727 BuildRequires:  net-snmp-devel
728 %description snmp
729 This plugin for collectd allows querying of network equipment using SNMP.
730 %endif
731
732 %if %{with_varnish}
733 %package varnish
734 Summary:        Varnish plugin for collectd
735 Group:          System Environment/Daemons
736 Requires:       %{name}%{?_isa} = %{version}-%{release}
737 BuildRequires:  varnish-libs-devel
738 %description varnish
739 The Varnish plugin collects information about Varnish, an HTTP accelerator.
740 %endif
741
742 %if %{with_virt}
743 %package virt
744 Summary:        Virt plugin for collectd
745 Group:          System Environment/Daemons
746 Requires:       %{name}%{?_isa} = %{version}-%{release}
747 BuildRequires:  libvirt-devel
748 %description virt
749 This plugin collects information from virtualized guests.
750 %endif
751
752 %if %{with_write_http}
753 %package write_http
754 Summary:        Write-HTTP plugin for collectd
755 Group:          System Environment/Daemons
756 Requires:       %{name}%{?_isa} = %{version}-%{release}
757 BuildRequires:  curl-devel
758 %description write_http
759 The Write-HTTP plugin sends the values collected by collectd to a web-server
760 using HTTP POST requests.
761 %endif
762
763 %if %{with_write_kafka}
764 %package write_kafka
765 Summary:       Write-kafka plugin for collectd
766 Group:         System Environment/Daemons
767 Requires:      %{name}%{?_isa} = %{version}-%{release}
768 BuildRequires: rdkafka-devel
769 %description write_kafka
770 The write_kafka plugin sends values to kafka, a distributed messaging system.
771 %endif
772
773 %if %{with_write_redis}
774 %package write_redis
775 Summary:        Write-Redis plugin for collectd
776 Group:          System Environment/Daemons
777 Requires:       %{name}%{?_isa} = %{version}-%{release}
778 BuildRequires:  hiredis-devel
779 %description write_redis
780 The Write Redis plugin stores values in Redis, a “data structures server”.
781 %endif
782
783 %if %{with_write_riemann}
784 %package write_riemann
785 Summary:        riemann plugin for collectd
786 Group:          System Environment/Daemons
787 Requires:       %{name}%{?_isa} = %{version}-%{release}
788 BuildRequires:  protobuf-c-devel
789 %description write_riemann
790 The riemann plugin submits values to Riemann, an event stream processor.
791 %endif
792
793 %package collection3
794 Summary:        Web-based viewer for collectd
795 Group:          System Environment/Daemons
796 Requires:       %{name}%{?_isa} = %{version}-%{release}
797 Requires: httpd
798 %description collection3
799 collection3 is a graphing front-end for the RRD files created by and filled
800 with collectd. It is written in Perl and should be run as an CGI-script.
801 Graphs are generated on-the-fly, so no cron job or similar is necessary.
802
803 %package php-collection
804 Summary:        collect php webfrontent
805 Group:          System Environment/Daemons
806 Requires:       collectd = %{version}-%{release}
807 Requires:       httpd
808 Requires:       php
809 Requires:       php-rrdtool
810 %description php-collection
811 PHP graphing frontend for RRD files created by and filled with collectd.
812
813 %package contrib
814 Summary:        Contrib files for collectd
815 Group:          System Environment/Daemons
816 Requires:       %{name}%{?_isa} = %{version}-%{release}
817 %description contrib
818 All the files found under contrib/ in the source tree are bundled in this
819 package.
820
821 %package -n libcollectdclient
822 Summary:        Collectd client library
823 Group:          System Environment/Daemons
824 %description -n libcollectdclient
825 Collectd client library
826
827 %package -n libcollectdclient-devel
828 Summary:        Development files for libcollectdclient
829 Group:          System Environment/Daemons
830 Requires:       pkgconfig
831 Requires:       libcollectdclient%{?_isa} = %{version}-%{release}
832 %description -n libcollectdclient-devel
833 Development files for libcollectdclient
834
835 %package -n collectd-utils
836 Summary:        Collectd utilities
837 Group:          System Environment/Daemons
838 Requires:       libcollectdclient%{?_isa} = %{version}-%{release}
839 Requires:       collectd%{?_isa} = %{version}-%{release}
840 %description -n collectd-utils
841 Collectd utilities
842
843 %prep
844 %setup -q
845
846 %build
847 %if %{with_aggregation}
848 %define _with_aggregation --enable-aggregation
849 %else
850 %define _with_aggregation --disable-aggregation
851 %endif
852
853 %if %{with_amqp}
854 %define _with_amqp --enable-amqp
855 %else
856 %define _with_amqp --disable-amqp
857 %endif
858
859 %if %{with_apache}
860 %define _with_apache --enable-apache
861 %else
862 %define _with_apache --disable-apache
863 %endif
864
865 %if %{with_apcups}
866 %define _with_apcups --enable-apcups
867 %else
868 %define _with_apcups --disable-apcups
869 %endif
870
871 %if %{with_apple_sensors}
872 %define _with_apple_sensors --enable-apple_sensors
873 %else
874 %define _with_apple_sensors --disable-apple_sensors
875 %endif
876
877 %if %{with_aquaero}
878 %define _with_aquaero --enable-aquaero
879 %else
880 %define _with_aquaero --disable-aquaero
881 %endif
882
883 %if %{with_ascent}
884 %define _with_ascent --enable-ascent
885 %else
886 %define _with_ascent --disable-ascent
887 %endif
888
889 %if %{with_barometer}
890 %define _with_barometer --enable-barometer
891 %else
892 %define _with_barometer --disable-barometer
893 %endif
894
895 %if %{with_battery}
896 %define _with_battery --enable-battery
897 %else
898 %define _with_battery --disable-battery
899 %endif
900
901 %if %{with_bind}
902 %define _with_bind --enable-bind
903 %else
904 %define _with_bind --disable-bind
905 %endif
906
907 %if %{with_cgroups}
908 %define _with_cgroups --enable-cgroups
909 %else
910 %define _with_cgroups --disable-cgroups
911 %endif
912
913 %if %{with_conntrack}
914 %define _with_conntrack --enable-conntrack
915 %else
916 %define _with_conntrack --disable-conntrack
917 %endif
918
919 %if %{with_contextswitch}
920 %define _with_contextswitch --enable-contextswitch
921 %else
922 %define _with_contextswitch --disable-contextswitch
923 %endif
924
925 %if %{with_cpu}
926 %define _with_cpu --enable-cpu
927 %else
928 %define _with_cpu --disable-cpu
929 %endif
930
931 %if %{with_cpufreq}
932 %define _with_cpufreq --enable-cpufreq
933 %else
934 %define _with_cpufreq --disable-cpufreq
935 %endif
936
937 %if %{with_csv}
938 %define _with_csv --enable-csv
939 %else
940 %define _with_csv --disable-csv
941 %endif
942
943 %if %{with_ceph}
944 %define _with_ceph --enable-ceph
945 %else
946 %define _with_ceph --disable-ceph
947 %endif
948
949 %if %{with_curl}
950 %define _with_curl --enable-curl
951 %else
952 %define _with_curl --disable-curl
953 %endif
954
955 %if %{with_curl_json}
956 %define _with_curl_json --enable-curl_json
957 %else
958 %define _with_curl_json --disable-curl_json
959 %endif
960
961 %if %{with_curl_xml}
962 %define _with_curl_xml --enable-curl_xml
963 %else
964 %define _with_curl_xml --disable-curl_xml
965 %endif
966
967 %if %{with_dbi}
968 %define _with_dbi --enable-dbi
969 %else
970 %define _with_dbi --disable-dbi
971 %endif
972
973 %if %{with_df}
974 %define _with_df --enable-df
975 %else
976 %define _with_df --disable-df
977 %endif
978
979 %if %{with_disk}
980 %define _with_disk --enable-disk
981 %else
982 %define _with_disk --disable-disk
983 %endif
984
985 %if %{with_dns}
986 %define _with_dns --enable-dns
987 %else
988 %define _with_dns --disable-dns
989 %endif
990
991 %if %{with_drbd}
992 %define _with_drbd --enable-drbd
993 %else
994 %define _with_drbd --disable-drbd
995 %endif
996
997 %if %{with_email}
998 %define _with_email --enable-email
999 %else
1000 %define _with_email --disable-email
1001 %endif
1002
1003 %if %{with_entropy}
1004 %define _with_entropy --enable-entropy
1005 %else
1006 %define _with_entropy --disable-entropy
1007 %endif
1008
1009 %if %{with_ethstat}
1010 %define _with_ethstat --enable-ethstat
1011 %else
1012 %define _with_ethstat --disable-ethstat
1013 %endif
1014
1015 %if %{with_exec}
1016 %define _with_exec --enable-exec
1017 %else
1018 %define _with_exec --disable-exec
1019 %endif
1020
1021 %if %{with_fhcount}
1022 %define _with_fhcount --enable-fhcount
1023 %else
1024 %define _with_fhcount --disable-fhcount
1025 %endif
1026
1027 %if %{with_filecount}
1028 %define _with_filecount --enable-filecount
1029 %else
1030 %define _with_filecount --disable-filecount
1031 %endif
1032
1033 %if %{with_fscache}
1034 %define _with_fscache --enable-fscache
1035 %else
1036 %define _with_fscache --disable-fscache
1037 %endif
1038
1039 %if %{with_gmond}
1040 %define _with_gmond --enable-gmond
1041 %else
1042 %define _with_gmond --disable-gmond
1043 %endif
1044
1045 %if %{with_hddtemp}
1046 %define _with_hddtemp --enable-hddtemp
1047 %else
1048 %define _with_hddtemp --disable-hddtemp
1049 %endif
1050
1051 %if %{with_interface}
1052 %define _with_interface --enable-interface
1053 %else
1054 %define _with_interface --disable-interface
1055 %endif
1056
1057 %if %{with_ipc}
1058 %define _with_ipc --enable-ipc
1059 %else
1060 %define _with_ipc --disable-ipc
1061 %endif
1062
1063 %if %{with_ipmi}
1064 %define _with_ipmi --enable-ipmi
1065 %else
1066 %define _with_ipmi --disable-ipmi
1067 %endif
1068
1069 %if %{with_iptables}
1070 %define _with_iptables --enable-iptables
1071 %else
1072 %define _with_iptables --disable-iptables
1073 %endif
1074
1075 %if %{with_ipvs}
1076 %define _with_ipvs --enable-ipvs
1077 %else
1078 %define _with_ipvs --disable-ipvs
1079 %endif
1080
1081 %if %{with_irq}
1082 %define _with_irq --enable-irq
1083 %else
1084 %define _with_irq --disable-irq
1085 %endif
1086
1087 %if %{with_java}
1088 %define _with_java --enable-java --with-java=%{java_home}/
1089 %else
1090 %define _with_java --disable-java
1091 %endif
1092
1093 %if %{with_virt}
1094 %define _with_virt --enable-virt
1095 %else
1096 %define _with_virt --disable-virt
1097 %endif
1098
1099 %if %{with_load}
1100 %define _with_load --enable-load
1101 %else
1102 %define _with_load --disable-load
1103 %endif
1104
1105 %if %{with_logfile}
1106 %define _with_logfile --enable-logfile
1107 %else
1108 %define _with_logfile --disable-logfile
1109 %endif
1110
1111 %if %{with_log_logstash}
1112 %define _with_log_logstash --enable-log_logstash
1113 %else
1114 %define _with_log_logstash --disable-log_logstash
1115 %endif
1116
1117 %if %{with_lpar}
1118 %define _with_lpar --enable-lpar
1119 %else
1120 %define _with_lpar --disable-lpar
1121 %endif
1122
1123 %if %{with_lvm}
1124 %define _with_lvm --enable-lvm
1125 %else
1126 %define _with_lvm --disable-lvm
1127 %endif
1128
1129 %if %{with_madwifi}
1130 %define _with_madwifi --enable-madwifi
1131 %else
1132 %define _with_madwifi --disable-madwifi
1133 %endif
1134
1135 %if %{with_mbmon}
1136 %define _with_mbmon --enable-mbmon
1137 %else
1138 %define _with_mbmon --disable-mbmon
1139 %endif
1140
1141 %if %{with_md}
1142 %define _with_md --enable-md
1143 %else
1144 %define _with_md --disable-md
1145 %endif
1146
1147 %if %{with_memcachec}
1148 %define _with_memcachec --enable-memcachec
1149 %else
1150 %define _with_memcachec --disable-memcachec
1151 %endif
1152
1153 %if %{with_memcached}
1154 %define _with_memcached --enable-memcached
1155 %else
1156 %define _with_memcached --disable-memcached
1157 %endif
1158
1159 %if %{with_memory}
1160 %define _with_memory --enable-memory
1161 %else
1162 %define _with_memory --disable-memory
1163 %endif
1164
1165 %if %{with_mic}
1166 %define _with_mic --enable-mic
1167 %else
1168 %define _with_mic --disable-mic
1169 %endif
1170
1171 %if %{with_modbus}
1172 %define _with_modbus --enable-modbus
1173 %else
1174 %define _with_modbus --disable-modbus
1175 %endif
1176
1177 %if %{with_multimeter}
1178 %define _with_multimeter --enable-multimeter
1179 %else
1180 %define _with_multimeter --disable-multimeter
1181 %endif
1182
1183 %if %{with_mqtt}
1184 %define _with_mqtt --enable-mqtt
1185 %else
1186 %define _with_mqtt --disable-mqtt
1187 %endif
1188
1189 %if %{with_mysql}
1190 %define _with_mysql --enable-mysql
1191 %else
1192 %define _with_mysql --disable-mysql
1193 %endif
1194
1195 %if %{with_netapp}
1196 %define _with_netapp --enable-netapp
1197 %else
1198 %define _with_netapp --disable-netapp
1199 %endif
1200
1201 %if %{with_netlink}
1202 %define _with_netlink --enable-netlink
1203 %else
1204 %define _with_netlink --disable-netlink
1205 %endif
1206
1207 %if %{with_network}
1208 %define _with_network --enable-network
1209 %else
1210 %define _with_network --disable-network
1211 %endif
1212
1213 %if %{with_nfs}
1214 %define _with_nfs --enable-nfs
1215 %else
1216 %define _with_nfs --disable-nfs
1217 %endif
1218
1219 %if %{with_nginx}
1220 %define _with_nginx --enable-nginx
1221 %else
1222 %define _with_nginx --disable-nginx
1223 %endif
1224
1225 %if %{with_notify_desktop}
1226 %define _with_notify_desktop --enable-notify_desktop
1227 %else
1228 %define _with_notify_desktop --disable-notify_desktop
1229 %endif
1230
1231 %if %{with_notify_email}
1232 %define _with_notify_email --enable-notify_email
1233 %else
1234 %define _with_notify_email --disable-notify_email
1235 %endif
1236
1237 %if %{with_notify_nagios}
1238 %define _with_notify_nagios --enable-notify_nagios
1239 %else
1240 %define _with_notify_nagios --disable-notify_nagios
1241 %endif
1242
1243 %if %{with_ntpd}
1244 %define _with_ntpd --enable-ntpd
1245 %else
1246 %define _with_ntpd --disable-ntpd
1247 %endif
1248
1249 %if %{with_numa}
1250 %define _with_numa --enable-numa
1251 %else
1252 %define _with_numa --disable-numa
1253 %endif
1254
1255 %if %{with_nut}
1256 %define _with_nut --enable-nut
1257 %else
1258 %define _with_nut --disable-nut
1259 %endif
1260
1261 %if %{with_olsrd}
1262 %define _with_olsrd --enable-olsrd
1263 %else
1264 %define _with_olsrd --disable-olsrd
1265 %endif
1266
1267 %if %{with_onewire}
1268 %define _with_onewire --enable-onewire
1269 %else
1270 %define _with_onewire --disable-onewire
1271 %endif
1272
1273 %if %{with_openldap}
1274 %define _with_openldap --enable-openldap
1275 %else
1276 %define _with_openldap --disable-openldap
1277 %endif
1278
1279 %if %{with_openvpn}
1280 %define _with_openvpn --enable-openvpn
1281 %else
1282 %define _with_openvpn --disable-openvpn
1283 %endif
1284
1285 %if %{with_oracle}
1286 %define _with_oracle --enable-oracle
1287 %else
1288 %define _with_oracle --disable-oracle
1289 %endif
1290
1291 %if %{with_perl}
1292 %define _with_perl --enable-perl --with-perl-bindings="INSTALLDIRS=vendor"
1293 %else
1294 %define _with_perl --disable-perl
1295 %endif
1296
1297 %if %{with_pf}
1298 %define _with_pf --enable-pf
1299 %else
1300 %define _with_pf --disable-pf
1301 %endif
1302
1303 %if %{with_pinba}
1304 %define _with_pinba --enable-pinba
1305 %else
1306 %define _with_pinba --disable-pinba
1307 %endif
1308
1309 %if %{with_ping}
1310 %define _with_ping --enable-ping
1311 %else
1312 %define _with_ping --disable-ping
1313 %endif
1314
1315 %if %{with_postgresql}
1316 %define _with_postgresql --enable-postgresql
1317 %else
1318 %define _with_postgresql --disable-postgresql
1319 %endif
1320
1321 %if %{with_powerdns}
1322 %define _with_powerdns --enable-powerdns
1323 %else
1324 %define _with_powerdns --disable-powerdns
1325 %endif
1326
1327 %if %{with_processes}
1328 %define _with_processes --enable-processes
1329 %else
1330 %define _with_processes --disable-processes
1331 %endif
1332
1333 %if %{with_protocols}
1334 %define _with_protocols --enable-protocols
1335 %else
1336 %define _with_protocols --disable-protocols
1337 %endif
1338
1339 %if %{with_python}
1340         %if 0%{?rhel} >= 6
1341 %define _with_python --enable-python
1342         %else
1343 %define _with_python --enable-python --with-python=%{_bindir}/python2.6
1344         %endif
1345 %else
1346 %define _with_python --disable-python
1347 %endif
1348
1349 %if %{with_redis}
1350 %define _with_redis --enable-redis
1351 %else
1352 %define _with_redis --disable-redis
1353 %endif
1354
1355 %if %{with_routeros}
1356 %define _with_routeros --enable-routeros
1357 %else
1358 %define _with_routeros --disable-routeros
1359 %endif
1360
1361 %if %{with_rrdcached}
1362 %define _with_rrdcached --enable-rrdcached
1363 %else
1364 %define _with_rrdcached --disable-rrdcached
1365 %endif
1366
1367 %if %{with_rrdtool}
1368 %define _with_rrdtool --enable-rrdtool
1369 %else
1370 %define _with_rrdtool --disable-rrdtool
1371 %endif
1372
1373 %if %{with_sensors}
1374 %define _with_sensors --enable-sensors
1375 %else
1376 %define _with_sensors --disable-sensors
1377 %endif
1378
1379 %if %{with_serial}
1380 %define _with_serial --enable-serial
1381 %else
1382 %define _with_serial --disable-serial
1383 %endif
1384
1385 %if %{with_sigrok}
1386 %define _with_sigrok --enable-sigrok
1387 %else
1388 %define _with_sigrok --disable-sigrok
1389 %endif
1390
1391 %if %{with_smart}
1392 %define _with_smart --enable-smart
1393 %else
1394 %define _with_smart --disable-smart
1395 %endif
1396
1397 %if %{with_snmp}
1398 %define _with_snmp --enable-snmp
1399 %else
1400 %define _with_snmp --disable-snmp
1401 %endif
1402
1403 %if %{with_statsd}
1404 %define _with_statsd --enable-statsd
1405 %else
1406 %define _with_statsd --disable-statsd
1407 %endif
1408
1409 %if %{with_swap}
1410 %define _with_swap --enable-swap
1411 %else
1412 %define _with_swap --disable-swap
1413 %endif
1414
1415 %if %{with_syslog}
1416 %define _with_syslog --enable-syslog
1417 %else
1418 %define _with_syslog --disable-syslog
1419 %endif
1420
1421 %if %{with_table}
1422 %define _with_table --enable-table
1423 %else
1424 %define _with_table --disable-table
1425 %endif
1426
1427 %if %{with_tail}
1428 %define _with_tail --enable-tail
1429 %else
1430 %define _with_tail --disable-tail
1431 %endif
1432
1433 %if %{with_tail_csv}
1434 %define _with_tail_csv --enable-tail_csv
1435 %else
1436 %define _with_tail_csv --disable-tail_csv
1437 %endif
1438
1439 %if %{with_tape}
1440 %define _with_tape --enable-tape
1441 %else
1442 %define _with_tape --disable-tape
1443 %endif
1444
1445 %if %{with_tcpconns}
1446 %define _with_tcpconns --enable-tcpconns
1447 %else
1448 %define _with_tcpconns --disable-tcpconns
1449 %endif
1450
1451 %if %{with_teamspeak2}
1452 %define _with_teamspeak2 --enable-teamspeak2
1453 %else
1454 %define _with_teamspeak2 --disable-teamspeak2
1455 %endif
1456
1457 %if %{with_ted}
1458 %define _with_ted --enable-ted
1459 %else
1460 %define _with_ted --disable-ted
1461 %endif
1462
1463 %if %{with_thermal}
1464 %define _with_thermal --enable-thermal
1465 %else
1466 %define _with_thermal --disable-thermal
1467 %endif
1468
1469 %if %{with_threshold}
1470 %define _with_threshold --enable-threshold
1471 %else
1472 %define _with_threshold --disable-threshold
1473 %endif
1474
1475 %if %{with_tokyotyrant}
1476 %define _with_tokyotyrant --enable-tokyotyrant
1477 %else
1478 %define _with_tokyotyrant --disable-tokyotyrant
1479 %endif
1480
1481 %if %{with_turbostat}
1482 %define _with_turbostat --enable-turbostat
1483 %else
1484 %define _with_turbostat --disable-turbostat
1485 %endif
1486
1487 %if %{with_unixsock}
1488 %define _with_unixsock --enable-unixsock
1489 %else
1490 %define _with_unixsock --disable-unixsock
1491 %endif
1492
1493 %if %{with_uptime}
1494 %define _with_uptime --enable-uptime
1495 %else
1496 %define _with_uptime --disable-uptime
1497 %endif
1498
1499 %if %{with_users}
1500 %define _with_users --enable-users
1501 %else
1502 %define _with_users --disable-users
1503 %endif
1504
1505 %if %{with_uuid}
1506 %define _with_uuid --enable-uuid
1507 %else
1508 %define _with_uuid --disable-uuid
1509 %endif
1510
1511 %if %{with_varnish}
1512 %define _with_varnish --enable-varnish
1513 %else
1514 %define _with_varnish --disable-varnish
1515 %endif
1516
1517 %if %{with_vmem}
1518 %define _with_vmem --enable-vmem
1519 %else
1520 %define _with_vmem --disable-vmem
1521 %endif
1522
1523 %if %{with_vserver}
1524 %define _with_vserver --enable-vserver
1525 %else
1526 %define _with_vserver --disable-vserver
1527 %endif
1528
1529 %if %{with_wireless}
1530 %define _with_wireless --enable-wireless
1531 %else
1532 %define _with_wireless --disable-wireless
1533 %endif
1534
1535 %if %{with_write_graphite}
1536 %define _with_write_graphite --enable-write_graphite
1537 %else
1538 %define _with_write_graphite --disable-write_graphite
1539 %endif
1540
1541 %if %{with_write_http}
1542 %define _with_write_http --enable-write_http
1543 %else
1544 %define _with_write_http --disable-write_http
1545 %endif
1546
1547 %if %{with_write_kafka}
1548 %define _with_write_kafka --enable-write_kafka
1549 %else
1550 %define _with_write_kafka --disable-write_kafka
1551 %endif
1552
1553 %if %{with_write_log}
1554 %define _with_write_log --enable-write_log
1555 %else
1556 %define _with_write_log --disable-write_log
1557 %endif
1558
1559 %if %{with_write_mongodb}
1560 %define _with_write_mongodb --enable-write_mongodb
1561 %else
1562 %define _with_write_mongodb --disable-write_mongodb
1563 %endif
1564
1565 %if %{with_write_redis}
1566 %define _with_write_redis --enable-write_redis
1567 %else
1568 %define _with_write_redis --disable-write_redis
1569 %endif
1570
1571 %if %{with_write_riemann}
1572 %define _with_write_riemann --enable-write_riemann
1573 %else
1574 %define _with_write_riemann --disable-write_riemann
1575 %endif
1576
1577 %if %{with_write_sensu}
1578 %define _with_write_sensu --enable-write_sensu
1579 %else
1580 %define _with_write_sensu --disable-write_sensu
1581 %endif
1582
1583 %if %{with_write_tsdb}
1584 %define _with_write_tsdb --enable-write_tsdb
1585 %else
1586 %define _with_write_tsdb --disable-write_tsdb
1587 %endif
1588
1589 %if %{with_xmms}
1590 %define _with_xmms --enable-xmms
1591 %else
1592 %define _with_xmms --disable-xmms
1593 %endif
1594
1595 %if %{with_zfs_arc}
1596 %define _with_zfs_arc --enable-zfs_arc
1597 %else
1598 %define _with_zfs_arc --disable-zfs_arc
1599 %endif
1600
1601 %if %{with_zone}
1602 %define _with_zone --enable-zone
1603 %else
1604 %define _with_zone --disable-zone
1605 %endif
1606
1607 %if %{with_zookeeper}
1608 %define _with_zookeeper --enable-zookeeper
1609 %else
1610 %define _with_zookeeper --disable-zookeeper
1611 %endif
1612
1613 %configure CFLAGS="%{optflags} -DLT_LAZY_OR_NOW=\"RTLD_LAZY|RTLD_GLOBAL\"" \
1614         --disable-static \
1615         --without-included-ltdl \
1616         --enable-all-plugins=yes \
1617         --enable-match_empty_counter \
1618         --enable-match_hashed \
1619         --enable-match_regex \
1620         --enable-match_timediff \
1621         --enable-match_value \
1622         --enable-target_notification \
1623         --enable-target_replace \
1624         --enable-target_scale \
1625         --enable-target_set \
1626         --enable-target_v5upgrade \
1627         %{?_with_aggregation} \
1628         %{?_with_amqp} \
1629         %{?_with_apache} \
1630         %{?_with_apcups} \
1631         %{?_with_apple_sensors} \
1632         %{?_with_aquaero} \
1633         %{?_with_ascent} \
1634         %{?_with_barometer} \
1635         %{?_with_battery} \
1636         %{?_with_bind} \
1637         %{?_with_ceph} \
1638         %{?_with_cgroups} \
1639         %{?_with_conntrack} \
1640         %{?_with_contextswitch} \
1641         %{?_with_cpu} \
1642         %{?_with_cpufreq} \
1643         %{?_with_csv} \
1644         %{?_with_curl} \
1645         %{?_with_curl_json} \
1646         %{?_with_curl_xml} \
1647         %{?_with_dbi} \
1648         %{?_with_df} \
1649         %{?_with_disk} \
1650         %{?_with_dns} \
1651         %{?_with_drbd} \
1652         %{?_with_email} \
1653         %{?_with_entropy} \
1654         %{?_with_ethstat} \
1655         %{?_with_exec} \
1656         %{?_with_fhcount} \
1657         %{?_with_filecount} \
1658         %{?_with_fscache} \
1659         %{?_with_gmond} \
1660         %{?_with_hddtemp} \
1661         %{?_with_interface} \
1662         %{?_with_ipc} \
1663         %{?_with_ipmi} \
1664         %{?_with_iptables} \
1665         %{?_with_ipvs} \
1666         %{?_with_java} \
1667         %{?_with_virt} \
1668         %{?_with_log_logstash} \
1669         %{?_with_lpar} \
1670         %{?_with_lvm} \
1671         %{?_with_memcachec} \
1672         %{?_with_mic} \
1673         %{?_with_modbus} \
1674         %{?_with_multimeter} \
1675         %{?_with_mqtt} \
1676         %{?_with_mysql} \
1677         %{?_with_netapp} \
1678         %{?_with_netlink} \
1679         %{?_with_nginx} \
1680         %{?_with_notify_desktop} \
1681         %{?_with_notify_email} \
1682         %{?_with_nut} \
1683         %{?_with_onewire} \
1684         %{?_with_openldap} \
1685         %{?_with_oracle} \
1686         %{?_with_perl} \
1687         %{?_with_pf} \
1688         %{?_with_pinba} \
1689         %{?_with_ping} \
1690         %{?_with_postgresql} \
1691         %{?_with_python} \
1692         %{?_with_redis} \
1693         %{?_with_routeros} \
1694         %{?_with_rrdcached} \
1695         %{?_with_rrdtool} \
1696         %{?_with_sensors} \
1697         %{?_with_sigrok} \
1698         %{?_with_smart} \
1699         %{?_with_snmp} \
1700         %{?_with_tape} \
1701         %{?_with_tokyotyrant} \
1702         %{?_with_varnish} \
1703         %{?_with_write_http} \
1704         %{?_with_write_kafka} \
1705         %{?_with_write_mongodb} \
1706         %{?_with_write_redis} \
1707         %{?_with_xmms} \
1708         %{?_with_zfs_arc} \
1709         %{?_with_zone} \
1710         %{?_with_zookeeper} \
1711         %{?_with_irq} \
1712         %{?_with_load} \
1713         %{?_with_logfile} \
1714         %{?_with_madwifi} \
1715         %{?_with_mbmon} \
1716         %{?_with_md} \
1717         %{?_with_memcached} \
1718         %{?_with_memory} \
1719         %{?_with_network} \
1720         %{?_with_nfs} \
1721         %{?_with_notify_nagios} \
1722         %{?_with_ntpd} \
1723         %{?_with_numa} \
1724         %{?_with_olsrd} \
1725         %{?_with_openvpn} \
1726         %{?_with_powerdns} \
1727         %{?_with_processes} \
1728         %{?_with_protocols} \
1729         %{?_with_serial} \
1730         %{?_with_statsd} \
1731         %{?_with_swap} \
1732         %{?_with_syslog} \
1733         %{?_with_table} \
1734         %{?_with_tail} \
1735         %{?_with_tail_csv} \
1736         %{?_with_tcpconns} \
1737         %{?_with_teamspeak2} \
1738         %{?_with_ted} \
1739         %{?_with_thermal} \
1740         %{?_with_threshold} \
1741         %{?_with_turbostat} \
1742         %{?_with_unixsock} \
1743         %{?_with_uptime} \
1744         %{?_with_users} \
1745         %{?_with_uuid} \
1746         %{?_with_vmem} \
1747         %{?_with_vserver} \
1748         %{?_with_wireless}\
1749         %{?_with_write_graphite} \
1750         %{?_with_write_http} \
1751         %{?_with_write_log} \
1752         %{?_with_write_riemann} \
1753         %{?_with_write_sensu} \
1754         %{?_with_write_tsdb}
1755
1756
1757 %{__make} %{?_smp_mflags}
1758
1759
1760 %install
1761 rm -rf %{buildroot}
1762 %{__make} install DESTDIR=%{buildroot}
1763 %if 0%{?el7:1}
1764 %{__install} -Dp -m0644 contrib/systemd.collectd.service %{buildroot}%{_unitdir}/collectd.service
1765 %else
1766 %{__install} -Dp -m0755 contrib/redhat/init.d-collectd %{buildroot}%{_initrddir}/collectd
1767 %endif
1768 %{__install} -Dp -m0644 src/collectd.conf %{buildroot}%{_sysconfdir}/collectd.conf
1769 %{__install} -d %{buildroot}%{_sharedstatedir}/collectd/
1770 %{__install} -d %{buildroot}%{_sysconfdir}/collectd.d/
1771
1772 %{__mkdir} -p %{buildroot}%{_localstatedir}/www
1773 %{__mkdir} -p %{buildroot}/%{_sysconfdir}/httpd/conf.d
1774
1775 %{__mv} contrib/collection3 %{buildroot}%{_localstatedir}/www
1776 %{__mv} contrib/redhat/collection3.conf %{buildroot}/%{_sysconfdir}/httpd/conf.d/
1777
1778 %{__mv} contrib/php-collection %{buildroot}%{_localstatedir}/www
1779 %{__mv} contrib/redhat/php-collection.conf %{buildroot}/%{_sysconfdir}/httpd/conf.d/
1780
1781 ### Clean up docs
1782 find contrib/ -type f -exec %{__chmod} a-x {} \;
1783 # *.la files shouldn't be distributed.
1784 rm -f %{buildroot}/%{_libdir}/{collectd/,}*.la
1785
1786 # Remove Perl hidden .packlist files.
1787 find %{buildroot} -type f -name .packlist -delete
1788 # Remove Perl temporary file perllocal.pod
1789 find %{buildroot} -type f -name perllocal.pod -delete
1790
1791 %if ! %{with_java}
1792 rm -f %{buildroot}%{_datadir}/collectd/java/collectd-api.jar
1793 rm -f %{buildroot}%{_datadir}/collectd/java/generic-jmx.jar
1794 rm -f %{buildroot}%{_mandir}/man5/collectd-java.5*
1795 %endif
1796
1797 %if ! %{with_perl}
1798 rm -f %{buildroot}%{_mandir}/man5/collectd-perl.5*
1799 rm -f %{buildroot}%{_mandir}/man3/Collectd::Unixsock.3pm*
1800 rm -fr %{buildroot}/usr/lib/perl5/
1801 %endif
1802
1803 %if ! %{with_postgresql}
1804 rm -f %{buildroot}%{_datadir}/collectd/postgresql_default.conf
1805 %endif
1806
1807 %if ! %{with_python}
1808 rm -f %{buildroot}%{_mandir}/man5/collectd-python.5*
1809 %endif
1810
1811 %if ! %{with_snmp}
1812 rm -f %{buildroot}%{_mandir}/man5/collectd-snmp.5*
1813 %endif
1814
1815
1816 %clean
1817 rm -rf %{buildroot}
1818
1819 %pre
1820 %if 0%{?el7:1}
1821 # stop sysv-based instance before upgrading to systemd
1822 if [ $1 -eq 2 ] && [ -f /var/lock/subsys/collectd ]; then
1823         SYSTEMCTL_SKIP_REDIRECT=1 %{_initddir}/collectd stop >/dev/null 2>&1 || :
1824 fi
1825 %endif
1826
1827 %post
1828 %if 0%{?el7:1}
1829 if [ $1 -eq 2 ]; then
1830         /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || :
1831 fi
1832 %systemd_post collectd.service
1833 %else
1834 /sbin/chkconfig --add collectd || :
1835 %endif
1836
1837 %preun
1838 %if 0%{?el7:1}
1839 %systemd_preun collectd.service
1840 %else
1841 # stop collectd only when uninstalling
1842 if [ $1 -eq 0 ]; then
1843         /sbin/service collectd stop >/dev/null 2>&1 || :
1844         /sbin/chkconfig --del collectd || :
1845 fi
1846 %endif
1847
1848 %postun
1849 %if 0%{?el7:1}
1850 %systemd_postun_with_restart collectd.service
1851 %else
1852 # restart collectd only when upgrading
1853 if [ $1 -eq 1 ]; then
1854         /sbin/service collectd condrestart >/dev/null 2>&1 || :
1855 fi
1856 %endif
1857
1858 %post -n libcollectdclient -p /sbin/ldconfig
1859 %postun -n libcollectdclient -p /sbin/ldconfig
1860
1861
1862 %files
1863 %doc AUTHORS COPYING ChangeLog README
1864 %config(noreplace) %{_sysconfdir}/collectd.conf
1865 %if 0%{?el7:1}
1866 %{_unitdir}/collectd.service
1867 %else
1868 %{_initrddir}/collectd
1869 %endif
1870 %{_sbindir}/collectd
1871 %{_sbindir}/collectdmon
1872 %{_datadir}/collectd/types.db
1873 %{_sharedstatedir}/collectd
1874 %{_mandir}/man1/collectd.1*
1875 %{_mandir}/man1/collectdmon.1*
1876 %{_mandir}/man5/collectd-email.5*
1877 %{_mandir}/man5/collectd-exec.5*
1878 %{_mandir}/man5/collectd-threshold.5*
1879 %{_mandir}/man5/collectd-unixsock.5*
1880 %{_mandir}/man5/collectd.conf.5*
1881 %{_mandir}/man5/types.db.5*
1882
1883 # all plugins bundled with the main collectd package
1884 %{_libdir}/%{name}/match_empty_counter.so
1885 %{_libdir}/%{name}/match_hashed.so
1886 %{_libdir}/%{name}/match_regex.so
1887 %{_libdir}/%{name}/match_timediff.so
1888 %{_libdir}/%{name}/match_value.so
1889 %{_libdir}/%{name}/target_notification.so
1890 %{_libdir}/%{name}/target_replace.so
1891 %{_libdir}/%{name}/target_scale.so
1892 %{_libdir}/%{name}/target_set.so
1893 %{_libdir}/%{name}/target_v5upgrade.so
1894
1895 %if %{with_aggregation}
1896 %{_libdir}/%{name}/aggregation.so
1897 %endif
1898 %if %{with_apcups}
1899 %{_libdir}/%{name}/apcups.so
1900 %endif
1901 %if %{with_battery}
1902 %{_libdir}/%{name}/battery.so
1903 %endif
1904 %if %{with_cgroups}
1905 %{_libdir}/%{name}/cgroups.so
1906 %endif
1907 %if %{with_conntrack}
1908 %{_libdir}/%{name}/conntrack.so
1909 %endif
1910 %if %{with_contextswitch}
1911 %{_libdir}/%{name}/contextswitch.so
1912 %endif
1913 %if %{with_cpu}
1914 %{_libdir}/%{name}/cpu.so
1915 %endif
1916 %if %{with_cpufreq}
1917 %{_libdir}/%{name}/cpufreq.so
1918 %endif
1919 %if %{with_csv}
1920 %{_libdir}/%{name}/csv.so
1921 %endif
1922 %if %{with_df}
1923 %{_libdir}/%{name}/df.so
1924 %endif
1925 %if %{with_drbd}
1926 %{_libdir}/%{name}/drbd.so
1927 %endif
1928 %if %{with_ethstat}
1929 %{_libdir}/%{name}/ethstat.so
1930 %endif
1931 %if %{with_entropy}
1932 %{_libdir}/%{name}/entropy.so
1933 %endif
1934 %if %{with_exec}
1935 %{_libdir}/%{name}/exec.so
1936 %endif
1937 %if %{with_fhcount}
1938 %{_libdir}/%{name}/fhcount.so
1939 %endif
1940 %if %{with_filecount}
1941 %{_libdir}/%{name}/filecount.so
1942 %endif
1943 %if %{with_fscache}
1944 %{_libdir}/%{name}/fscache.so
1945 %endif
1946 %if %{with_interface}
1947 %{_libdir}/%{name}/interface.so
1948 %endif
1949 %if %{with_ipc}
1950 %{_libdir}/%{name}/ipc.so
1951 %endif
1952 %if %{with_ipvs}
1953 %{_libdir}/%{name}/ipvs.so
1954 %endif
1955 %if %{with_irq}
1956 %{_libdir}/%{name}/irq.so
1957 %endif
1958 %if %{with_load}
1959 %{_libdir}/%{name}/load.so
1960 %endif
1961 %if %{with_logfile}
1962 %{_libdir}/%{name}/logfile.so
1963 %endif
1964 %if %{with_madwifi}
1965 %{_libdir}/%{name}/madwifi.so
1966 %endif
1967 %if %{with_mbmon}
1968 %{_libdir}/%{name}/mbmon.so
1969 %endif
1970 %if %{with_md}
1971 %{_libdir}/%{name}/md.so
1972 %endif
1973 %if %{with_memcached}
1974 %{_libdir}/%{name}/memcached.so
1975 %endif
1976 %if %{with_memory}
1977 %{_libdir}/%{name}/memory.so
1978 %endif
1979 %if %{with_multimeter}
1980 %{_libdir}/%{name}/multimeter.so
1981 %endif
1982 %if %{with_network}
1983 %{_libdir}/%{name}/network.so
1984 %endif
1985 %if %{with_nfs}
1986 %{_libdir}/%{name}/nfs.so
1987 %endif
1988 %if %{with_notify_nagios}
1989 %{_libdir}/%{name}/notify_nagios.so
1990 %endif
1991 %if %{with_ntpd}
1992 %{_libdir}/%{name}/ntpd.so
1993 %endif
1994 %if %{with_numa}
1995 %{_libdir}/%{name}/numa.so
1996 %endif
1997 %if %{with_openvpn}
1998 %{_libdir}/%{name}/openvpn.so
1999 %endif
2000 %if %{with_olsrd}
2001 %{_libdir}/%{name}/olsrd.so
2002 %endif
2003 %if %{with_powerdns}
2004 %{_libdir}/%{name}/powerdns.so
2005 %endif
2006 %if %{with_processes}
2007 %{_libdir}/%{name}/processes.so
2008 %endif
2009 %if %{with_protocols}
2010 %{_libdir}/%{name}/protocols.so
2011 %endif
2012 %if %{with_serial}
2013 %{_libdir}/%{name}/serial.so
2014 %endif
2015 %if %{with_statsd}
2016 %{_libdir}/%{name}/statsd.so
2017 %endif
2018 %if %{with_swap}
2019 %{_libdir}/%{name}/swap.so
2020 %endif
2021 %if %{with_syslog}
2022 %{_libdir}/%{name}/syslog.so
2023 %endif
2024 %if %{with_table}
2025 %{_libdir}/%{name}/table.so
2026 %endif
2027 %if %{with_tail}
2028 %{_libdir}/%{name}/tail.so
2029 %endif
2030 %if %{with_tail_csv}
2031 %{_libdir}/%{name}/tail_csv.so
2032 %endif
2033 %if %{with_tcpconns}
2034 %{_libdir}/%{name}/tcpconns.so
2035 %endif
2036 %if %{with_teamspeak2}
2037 %{_libdir}/%{name}/teamspeak2.so
2038 %endif
2039 %if %{with_ted}
2040 %{_libdir}/%{name}/ted.so
2041 %endif
2042 %if %{with_thermal}
2043 %{_libdir}/%{name}/thermal.so
2044 %endif
2045 %if %{with_threshold}
2046 %{_libdir}/%{name}/threshold.so
2047 %endif
2048 %if %{with_turbostat}
2049 %{_libdir}/%{name}/turbostat.so
2050 %endif
2051 %if %{with_unixsock}
2052 %{_libdir}/%{name}/unixsock.so
2053 %endif
2054 %if %{with_uptime}
2055 %{_libdir}/%{name}/uptime.so
2056 %endif
2057 %if %{with_users}
2058 %{_libdir}/%{name}/users.so
2059 %endif
2060 %if %{with_uuid}
2061 %{_libdir}/%{name}/uuid.so
2062 %endif
2063 %if %{with_vmem}
2064 %{_libdir}/%{name}/vmem.so
2065 %endif
2066 %if %{with_vserver}
2067 %{_libdir}/%{name}/vserver.so
2068 %endif
2069 %if %{with_wireless}
2070 %{_libdir}/%{name}/wireless.so
2071 %endif
2072 %if %{with_write_graphite}
2073 %{_libdir}/%{name}/write_graphite.so
2074 %endif
2075 %if %{with_write_log}
2076 %{_libdir}/%{name}/write_log.so
2077 %endif
2078 %if %{with_write_sensu}
2079 %{_libdir}/%{name}/write_sensu.so
2080 %endif
2081 %if %{with_write_tsdb}
2082 %{_libdir}/%{name}/write_tsdb.so
2083 %endif
2084 %if %{with_zfs_arc}
2085 %{_libdir}/%{name}/zfs_arc.so
2086 %endif
2087 %if %{with_zookeeper}
2088 %{_libdir}/%{name}/zookeeper.so
2089 %endif
2090
2091 %files -n libcollectdclient-devel
2092 %{_includedir}/collectd/client.h
2093 %{_includedir}/collectd/network.h
2094 %{_includedir}/collectd/network_buffer.h
2095 %{_includedir}/collectd/lcc_features.h
2096 %{_libdir}/pkgconfig/libcollectdclient.pc
2097
2098 %files -n libcollectdclient
2099 %{_libdir}/libcollectdclient.so
2100 %{_libdir}/libcollectdclient.so.*
2101
2102 %files -n collectd-utils
2103 %{_bindir}/collectd-nagios
2104 %{_bindir}/collectd-tg
2105 %{_bindir}/collectdctl
2106 %{_mandir}/man1/collectdctl.1*
2107 %{_mandir}/man1/collectd-nagios.1*
2108 %{_mandir}/man1/collectd-tg.1*
2109
2110 %if %{with_amqp}
2111 %files amqp
2112 %{_libdir}/%{name}/amqp.so
2113 %endif
2114
2115 %if %{with_apache}
2116 %files apache
2117 %{_libdir}/%{name}/apache.so
2118 %endif
2119
2120 %if %{with_aquaero}
2121 %files aquaero
2122 %{_libdir}/%{name}/aquaero.so
2123 %endif
2124
2125 %if %{with_ascent}
2126 %files ascent
2127 %{_libdir}/%{name}/ascent.so
2128 %endif
2129
2130 %if %{with_barometer}
2131 %files barometer
2132 %{_libdir}/%{name}/barometer.so
2133 %endif
2134
2135 %if %{with_bind}
2136 %files bind
2137 %{_libdir}/%{name}/bind.so
2138 %endif
2139
2140 %if %{with_ceph}
2141 %files ceph
2142 %{_libdir}/%{name}/ceph.so
2143 %endif
2144
2145 %if %{with_curl}
2146 %files curl
2147 %{_libdir}/%{name}/curl.so
2148 %endif
2149
2150 %if %{with_curl_json}
2151 %files curl_json
2152 %{_libdir}/%{name}/curl_json.so
2153 %endif
2154
2155 %if %{with_curl_xml}
2156 %files curl_xml
2157 %{_libdir}/%{name}/curl_xml.so
2158 %endif
2159
2160 %if %{with_disk}
2161 %files disk
2162 %{_libdir}/%{name}/disk.so
2163 %endif
2164
2165 %if %{with_dns}
2166 %files dns
2167 %{_libdir}/%{name}/dns.so
2168 %endif
2169
2170 %if %{with_dbi}
2171 %files dbi
2172 %{_libdir}/%{name}/dbi.so
2173 %endif
2174
2175 %if %{with_email}
2176 %files email
2177 %{_libdir}/%{name}/email.so
2178 %endif
2179
2180 %if %{with_gmond}
2181 %files gmond
2182 %{_libdir}/%{name}/gmond.so
2183 %endif
2184
2185 %if %{with_hddtemp}
2186 %files hddtemp
2187 %{_libdir}/%{name}/hddtemp.so
2188 %endif
2189
2190 %if %{with_ipmi}
2191 %files ipmi
2192 %{_libdir}/%{name}/ipmi.so
2193 %endif
2194
2195 %if %{with_iptables}
2196 %files iptables
2197 %{_libdir}/%{name}/iptables.so
2198 %endif
2199
2200 %if %{with_java}
2201 %files java
2202 %{_datadir}/collectd/java/collectd-api.jar
2203 %{_datadir}/collectd/java/generic-jmx.jar
2204 %{_libdir}/%{name}/java.so
2205 %{_mandir}/man5/collectd-java.5*
2206 %endif
2207
2208 %if %{with_virt}
2209 %files virt
2210 %{_libdir}/%{name}/virt.so
2211 %endif
2212
2213 %if %{with_log_logstash}
2214 %files log_logstash
2215 %{_libdir}/%{name}/log_logstash.so
2216 %endif
2217
2218 %if %{with_lvm}
2219 %files lvm
2220 %{_libdir}/%{name}/lvm.so
2221 %endif
2222
2223 %if %{with_memcachec}
2224 %files memcachec
2225 %{_libdir}/%{name}/memcachec.so
2226 %endif
2227
2228 %if %{with_mic}
2229 %files mic
2230 %{_libdir}/%{name}/mic.so
2231 %endif
2232
2233 %if %{with_modbus}
2234 %files modbus
2235 %{_libdir}/%{name}/modbus.so
2236 %endif
2237
2238 %if %{with_mqtt}
2239 %files mqtt
2240 %{_libdir}/%{name}/mqtt.so
2241 %endif
2242
2243 %if %{with_mysql}
2244 %files mysql
2245 %{_libdir}/%{name}/mysql.so
2246 %endif
2247
2248 %if %{with_netlink}
2249 %files netlink
2250 %{_libdir}/%{name}/netlink.so
2251 %endif
2252
2253 %if %{with_nginx}
2254 %files nginx
2255 %{_libdir}/%{name}/nginx.so
2256 %endif
2257
2258 %if %{with_notify_desktop}
2259 %files notify_desktop
2260 %{_libdir}/%{name}/notify_desktop.so
2261 %endif
2262
2263 %if %{with_notify_email}
2264 %files notify_email
2265 %{_libdir}/%{name}/notify_email.so
2266 %endif
2267
2268 %if %{with_nut}
2269 %files nut
2270 %{_libdir}/%{name}/nut.so
2271 %endif
2272
2273 %if %{with_openldap}
2274 %files openldap
2275 %{_libdir}/%{name}/openldap.so
2276 %endif
2277
2278 %if %{with_perl}
2279 %files perl
2280 %{perl_vendorlib}/Collectd.pm
2281 %{perl_vendorlib}/Collectd/
2282 %{_mandir}/man3/Collectd::Unixsock.3pm*
2283 %{_mandir}/man5/collectd-perl.5*
2284 %{_libdir}/%{name}/perl.so
2285 %endif
2286
2287 %if %{with_pinba}
2288 %files pinba
2289 %{_libdir}/%{name}/pinba.so
2290 %endif
2291
2292 %if %{with_ping}
2293 %files ping
2294 %{_libdir}/%{name}/ping.so
2295 %endif
2296
2297 %if %{with_postgresql}
2298 %files postgresql
2299 %{_datadir}/collectd/postgresql_default.conf
2300 %{_libdir}/%{name}/postgresql.so
2301 %endif
2302
2303 %if %{with_python}
2304 %files python
2305 %{_mandir}/man5/collectd-python*
2306 %{_libdir}/%{name}/python.so
2307 %endif
2308
2309 %if %{with_redis}
2310 %files redis
2311 %{_libdir}/%{name}/redis.so
2312 %endif
2313
2314 %if %{with_rrdcached}
2315 %files rrdcached
2316 %{_libdir}/%{name}/rrdcached.so
2317 %endif
2318
2319 %if %{with_rrdtool}
2320 %files rrdtool
2321 %{_libdir}/%{name}/rrdtool.so
2322 %endif
2323
2324 %if %{with_sensors}
2325 %files sensors
2326 %{_libdir}/%{name}/sensors.so
2327 %endif
2328
2329 %if %{with_sigrok}
2330 %files sigrok
2331 %{_libdir}/%{name}/sigrok.so
2332 %endif
2333
2334 %if %{with_smart}
2335 %files smart
2336 %{_libdir}/%{name}/smart.so
2337 %endif
2338
2339 %if %{with_snmp}
2340 %files snmp
2341 %{_mandir}/man5/collectd-snmp.5*
2342 %{_libdir}/%{name}/snmp.so
2343 %endif
2344
2345 %if %{with_varnish}
2346 %files varnish
2347 %{_libdir}/%{name}/varnish.so
2348 %endif
2349
2350 %if %{with_write_http}
2351 %files write_http
2352 %{_libdir}/%{name}/write_http.so
2353 %endif
2354
2355 %if %{with_write_kafka}
2356 %files write_kafka
2357 %{_libdir}/%{name}/write_kafka.so
2358 %endif
2359
2360 %if %{with_write_redis}
2361 %files write_redis
2362 %{_libdir}/%{name}/write_redis.so
2363 %endif
2364
2365 %if %{with_write_riemann}
2366 %files write_riemann
2367 %{_libdir}/%{name}/write_riemann.so
2368 %endif
2369
2370 %files collection3
2371 %{_localstatedir}/www/collection3
2372 %{_sysconfdir}/httpd/conf.d/collection3.conf
2373
2374 %files php-collection
2375 %{_localstatedir}/www/php-collection
2376 %{_sysconfdir}/httpd/conf.d/php-collection.conf
2377
2378 %files contrib
2379 %doc contrib/
2380
2381 %changelog
2382 #* TODO: next feature release changelog
2383 #- New upstream version
2384 #- New plugins enabled by default: mqtt, notify_nagios
2385 #- New plugins disabled by default: zone
2386 #
2387 * Wed May 27 2015 Marc Fournier <marc.fournier@camptocamp.com> 5.5.0-1
2388 - New upstream version
2389 - New plugins enabled by default: ceph, drbd, log_logstash, write_tsdb, smart,
2390   openldap, redis, write_redis, zookeeper, write_log, write_sensu, ipc,
2391   turbostat, fhcount
2392 - New plugins disabled by default: barometer, write_kafka
2393 - Enable zfs_arc, now supported on Linux
2394 - Install disk plugin in a dedicated package, as it depends on libudev
2395 - use systemd on EL7, sysvinit on EL6 & EL5
2396 - Install collectdctl, collectd-tg and collectd-nagios in collectd-utils.rpm
2397 - Add build-dependency on libcap-devel
2398
2399 * Mon Aug 19 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.4.0-1
2400 - New upstream version
2401 - Build netlink plugin by default
2402 - Enable cgroups, lvm and statsd plugins
2403 - Enable (but don't build by default) mic, aquaero and sigrok plugins
2404
2405 * Tue Aug 06 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.3.1-1
2406 - New upstream version
2407 - Added RHEL5 support:
2408   * conditionally disable plugins not building on this platform
2409   * add/specify some build dependencies and options
2410   * replace some RPM macros not available on this platform
2411 - Removed duplicate --enable-aggregation
2412 - Added some comments & usage examples
2413 - Replaced a couple of "Buildrequires" by "BuildRequires"
2414 - Enabled modbus plugin on RHEL6
2415 - Enabled netlink plugin on RHEL6 and RHEL7
2416 - Allow perl plugin to build on RHEL5
2417 - Add support for RHEL7
2418 - Misc perl-related improvements:
2419   * prevent rpmbuild from extracting dependencies from files in /usr/share/doc
2420   * don't package collection3 and php-collection twice
2421   * keep perl scripts from contrib/ in collectd-contrib
2422
2423 * Wed Apr 10 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.3.0-1
2424 - New upstream version
2425 - Enabled write_riemann plugin
2426 - Enabled tail_csv plugin
2427 - Installed collectd-tc manpage
2428
2429 * Fri Jan 11 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.2.0-3
2430 - remove dependency on libstatgrab, which isn't required on linux
2431
2432 * Thu Jan 03 2013 Marc Fournier <marc.fournier@camptocamp.com> 5.2.0-2
2433 - collection3 and php-collection viewers are now in separate packages
2434
2435 * Fri Dec 21 2012 Marc Fournier <marc.fournier@camptocamp.com> 5.2.0-1
2436 - New upstream version
2437 - Enabled aggregation plugin
2438 - Installed collectd-tc
2439 - Added network.h and network_buffer.h to libcollectdclient-devel
2440 - Moved libxml2-devel and libcurl-devel BRs to relevant plugins sections
2441 - Moved libcollectdclient.so from libcollectdclient-devel to libcollectdclient
2442 - Added rrdcached and redis plugin descriptions
2443 - Mentioned new pf plugin in disabled plugins list
2444
2445 * Sun Nov 18 2012 Ruben Kerkhof <ruben@tilaa.nl> 5.1.0-3
2446 - Follow Fedora Packaging Guidelines in java subpackage
2447
2448 * Sat Nov 17 2012 Ruben Kerkhof <ruben@tilaa.nl> 5.1.0-2
2449 - Move perl stuff to perl_vendorlib
2450 - Replace hardcoded paths with macros
2451 - Remove unnecessary Requires
2452 - Removed .a and .la files
2453 - Some other small cleanups
2454
2455 * Fri Nov 16 2012 Marc Fournier <marc.fournier@camptocamp.com> 5.1.0-1
2456 - New upstream version
2457 - Changes to support 5.1.0
2458 - Enabled all buildable plugins based on libraries available on EL6 + EPEL
2459 - All plugins requiring external libraries are now shipped in separate
2460   packages.
2461 - No longer treat Java plugin as an exception, correctly set $JAVA_HOME during
2462   the build process + ensure build deps are installed.
2463 - Dropped per-plugin configuration files, as they tend to diverge from upstream
2464   defaults.
2465 - Moved perl stuff to /usr/share/perl5/
2466 - Don't alter Interval and ReadThreads by default, let the user change this
2467   himself.
2468 - Initscript improvements:
2469   * checks configuration before (re)starting, based on debian's initscript
2470   * use /etc/sysconfig instdead of /etc/default
2471   * include optional $ARGS in arguments passed to collectd.
2472 - Drop collection.cgi from main package, as it's been obsoleted by collection3
2473 - Moved contrib/ to its own package, to avoid cluttering the main package with
2474   non-essential stuff.
2475 - Replaced BuildPrereq by BuildRequires
2476
2477 * Mon Jan 03 2011 Monetate <jason.stelzer@monetate.com> 5.0.1
2478 - New upstream version
2479 - Changes to support 5.0.1
2480
2481 * Mon Jan 04 2010 Rackspace <stu.hood@rackspace.com> 4.9.0
2482 - New upstream version
2483 - Changes to support 4.9.0
2484 - Added support for Java/GenericJMX plugin
2485
2486 * Mon Mar 17 2008 RightScale <support@rightscale.com> 4.3.1
2487 - New upstream version
2488 - Changes to support 4.3.1
2489 - Added More Prereqs to support more plugins
2490 - Added support for perl plugin
2491
2492 * Mon Aug 06 2007 Kjell Randa <Kjell.Randa@broadpark.no> 4.0.6
2493 - New upstream version
2494
2495 * Wed Jul 25 2007 Kjell Randa <Kjell.Randa@broadpark.no> 4.0.5
2496 - New major releas
2497 - Changes to support 4.0.5
2498
2499 * Thu Jan 11 2007 Iain Lea <iain@bricbrac.de> 3.11.0-0
2500 - fixed spec file to build correctly on fedora core
2501 - added improved init.d script to work with chkconfig
2502 - added %%post and %%postun to call chkconfig automatically
2503
2504 * Sun Jul 09 2006 Florian octo Forster <octo@verplant.org> 3.10.0-1
2505 - New upstream version
2506
2507 * Sun Jun 25 2006 Florian octo Forster <octo@verplant.org> 3.9.4-1
2508 - New upstream version
2509
2510 * Thu Jun 01 2006 Florian octo Forster <octo@verplant.org> 3.9.3-1
2511 - New upstream version
2512
2513 * Tue May 09 2006 Florian octo Forster <octo@verplant.org> 3.9.2-1
2514 - New upstream version
2515
2516 * Tue May 09 2006 Florian octo Forster <octo@verplant.org> 3.8.5-1
2517 - New upstream version
2518
2519 * Fri Apr 21 2006 Florian octo Forster <octo@verplant.org> 3.9.1-1
2520 - New upstream version
2521
2522 * Fri Apr 14 2006 Florian octo Forster <octo@verplant.org> 3.9.0-1
2523 - New upstream version
2524 - Added the `apache' package.
2525
2526 * Tue Mar 14 2006 Florian octo Forster <octo@verplant.org> 3.8.2-1
2527 - New upstream version
2528
2529 * Mon Mar 13 2006 Florian octo Forster <octo@verplant.org> 3.8.1-1
2530 - New upstream version
2531
2532 * Thu Mar 09 2006 Florian octo Forster <octo@verplant.org> 3.8.0-1
2533 - New upstream version
2534
2535 * Sat Feb 18 2006 Florian octo Forster <octo@verplant.org> 3.7.2-1
2536 - Include `tape.so' so the build doesn't terminate because of missing files..
2537 - New upstream version
2538
2539 * Sat Feb 04 2006 Florian octo Forster <octo@verplant.org> 3.7.1-1
2540 - New upstream version
2541
2542 * Mon Jan 30 2006 Florian octo Forster <octo@verplant.org> 3.7.0-1
2543 - New upstream version
2544 - Removed the extra `hddtemp' package
2545
2546 * Tue Jan 24 2006 Florian octo Forster <octo@verplant.org> 3.6.2-1
2547 - New upstream version
2548
2549 * Fri Jan 20 2006 Florian octo Forster <octo@verplant.org> 3.6.1-1
2550 - New upstream version
2551
2552 * Fri Jan 20 2006 Florian octo Forster <octo@verplant.org> 3.6.0-1
2553 - New upstream version
2554 - Added config file, `collectd.conf(5)', `df.so'
2555 - Added package `collectd-mysql', dependency on `mysqlclient10 | mysql'
2556
2557 * Wed Dec 07 2005 Florian octo Forster <octo@verplant.org> 3.5.0-1
2558 - New upstream version
2559
2560 * Sat Nov 26 2005 Florian octo Forster <octo@verplant.org> 3.4.0-1
2561 - New upstream version
2562
2563 * Sat Nov 05 2005 Florian octo Forster <octo@verplant.org> 3.3.0-1
2564 - New upstream version
2565
2566 * Wed Oct 26 2005 Florian octo Forster <octo@verplant.org> 3.2.0-1
2567 - New upstream version
2568 - Added statement to remove the `*.la' files. This fixes a problem when
2569   `Unpackaged files terminate build' is in effect.
2570 - Added `processes.so*' to the main package
2571
2572 * Fri Oct 14 2005 Florian octo Forster <octo@verplant.org> 3.1.0-1
2573 - New upstream version
2574 - Added package `collectd-hddtemp'
2575
2576 * Fri Sep 30 2005 Florian octo Forster <octo@verplant.org> 3.0.0-1
2577 - New upstream version
2578 - Split the package into `collectd' and `collectd-sensors'
2579
2580 * Fri Sep 16 2005 Florian octo Forster <octo@verplant.org> 2.1.0-1
2581 - New upstream version
2582
2583 * Sat Sep 10 2005 Florian octo Forster <octo@verplant.org> 2.0.0-1
2584 - New upstream version
2585
2586 * Mon Aug 29 2005 Florian octo Forster <octo@verplant.org> 1.8.0-1
2587 - New upstream version
2588
2589 * Thu Aug 25 2005 Florian octo Forster <octo@verplant.org> 1.7.0-1
2590 - New upstream version
2591
2592 * Sun Aug 21 2005 Florian octo Forster <octo@verplant.org> 1.6.0-1
2593 - New upstream version
2594
2595 * Sun Jul 17 2005 Florian octo Forster <octo@verplant.org> 1.5.1-1
2596 - New upstream version
2597
2598 * Sun Jul 17 2005 Florian octo Forster <octo@verplant.org> 1.5-1
2599 - New upstream version
2600
2601 * Mon Jul 11 2005 Florian octo Forster <octo@verplant.org> 1.4.2-1
2602 - New upstream version
2603
2604 * Sat Jul 09 2005 Florian octo Forster <octo@verplant.org> 1.4-1
2605 - Built on RedHat 7.3