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