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