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