-# TODO:
-# - package contrib scripts as %doc
-# - perl modules with Collectd classes package to separate package
-# - Disabled modules:
-# apple_sensors . . . no (obvious)
-# ipvs . . . . . . . no (ip_vs.h not found - llh to be fixed)
-# libvirt . . . . . . no (requires library)
-# multimeter . . . . no ?
-# onewire . . . . . . no (needs libowfs)
-# perl . . . . . . . no (needs libperl)
-# tape . . . . . . . no ?
-# - logrotate file for logfile plugin
-# - %desc -l pl for plugins
-#
# Conditional build:
+%bcond_without curl # apache, ascent, bind, curl and nginx plugins
%bcond_without dns # DNS plugin
%bcond_without ipmi # IPMI plugin
%bcond_without iptables # iptables plugin
+%bcond_without libesmtp # notify_email plugin
%bcond_with multimeter # multimeter plugin
+%bcond_without mysql # MySQL plugin
%bcond_without netlink # netlink plugin
+%bcond_without notify # notify_desktop plugin
+%bcond_without ping # ping plugin
+%bcond_without psql # PostgreSQL plugin
+%bcond_without rrd # rrdtool and rrdcached plugins
+%bcond_without sensors # sensors plugin
+%bcond_without snmp # SNMP plugin
+%bcond_without ups # nut plugin
+%bcond_without xml # ascent, bind and libvirt plugins
+%bcond_without xmms # XMMS plugin
#
#http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358637
%ifarch %{x8664}
Summary: Collects system information in RRD files
Summary(pl.UTF-8): Zbieranie informacji o systemie w plikach RRD
Name: collectd
-Version: 4.6.2
+Version: 4.7.0
Release: 2
License: GPL v2
Group: Daemons
-Source0: http://collectd.org/files/%{name}-%{version}.tar.gz
-# Source0-md5: 9eee46a6330780d6e6b41155b159f4f9
+Source0: http://collectd.org/files/%{name}-%{version}.tar.bz2
+# Source0-md5: 8740670913a7740f976122f3070e592b
Source1: %{name}.conf
Source2: %{name}.init
Source3: %{name}-http.conf
Source10: %{name}-df.conf
Source11: %{name}-rrdtool.conf
Patch0: %{name}-collection.patch
+Patch1: %{name}-as_needed.patch
URL: http://collectd.org/
%{?with_ipmi:BuildRequires: OpenIPMI-devel >= 2.0.14-3}
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: curl-devel
+%{?with_curl:BuildRequires: curl-devel}
+BuildRequires: gcc-c++
BuildRequires: hal-devel
%{?with_iptables:BuildRequires: iptables-devel >= 1.4.1.1-4}
-BuildRequires: libesmtp-devel
+BuildRequires: libdbi-devel
+%{?with_libesmtp:BuildRequires: libesmtp-devel}
+BuildRequires: libltdl-devel
%{?with_netlink:BuildRequires: libnetlink-devel}
-BuildRequires: libnotify-devel
-BuildRequires: liboping-devel
+%{?with_notify:BuildRequires: libnotify-devel}
+%{?with_ping:BuildRequires: liboping-devel}
%{?with_dns:BuildRequires: libpcap-devel}
BuildRequires: libstatgrab-devel >= 0.12
BuildRequires: libtool
-BuildRequires: libxml2-devel
-BuildRequires: lm_sensors-devel
-BuildRequires: mysql-devel
-BuildRequires: nut-devel
+%{?with_xml:BuildRequires: libxml2-devel}
+%{?with_sensors:BuildRequires: lm_sensors-devel}
+%{?with_mysql:BuildRequires: mysql-devel}
+%{?with_ups:BuildRequires: nut-devel}
BuildRequires: perl-devel
-BuildRequires: postgresql-devel
+%{?with_psql:BuildRequires: postgresql-devel}
BuildRequires: rpmbuild(macros) >= 1.268
-BuildRequires: rrdtool-devel
-BuildRequires: net-snmp-devel
-BuildRequires: xmms-devel
+%{?with_rrd:BuildRequires: rrdtool-devel}
+%{?with_snmp:BuildRequires: net-snmp-devel}
+%{?with_xmms:BuildRequires: xmms-devel}
Requires(post,preun): /sbin/chkconfig
Requires: rc-scripts
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description collection
Web script for collectd.
+%package conntrack
+Summary: conntrack-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka conntrack dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description conntrack
+The conntrack-plugin collects the connection tracking table size.
+
%package cpu
Summary: cpu-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka cpu dla collectd
sessions of a web server or simply the number of files in your home
directory.
+%package fscache
+Summary: fscache-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka fscache dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description fscache
+The fscache-plugin collects statistics about Linux file-system based caching
+framework.
+
%package hddtemp
Summary: hddtemp-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka hddtemp dla collectd
running, sleeping, zombies, etc.). In addition to that, it can select
detailed statistics about selected processes, grouped by name.
+%package protocols
+Summary: protocols-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka protocols dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description protocols
+The protocols-plugin provides information about network protocols, such as
+IP, TCP and UDP.
+
%package rrdtool
Summary: rrdtool-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka rrdtool dla collectd
configure lm-sensors before this plugin will collect any usefull and correct
data.
-%module_scripts serial
%package serial
Summary: serial-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka serial dla collectd
%description syslog
Syslog plugin for collectd.
+%package table
+Summary: table-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka table dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description table
+The table-plugin provides parsing for table-like structured files,
+such as many files beneath /proc.
+
%package target_notification
Summary: target_notification-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka target_notification dla collectd
polls interesting global and virtual server data. The plugin can query only
one physical server but unlimited virtual servers.
+%package ted
+Summary: ted-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka ted dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description ted
+The TED-plugin reads power consumption measurements from “The Energy Detective”
+(TED).
+
%package thermal
Summary: thermal-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka thermal dla collectd
other applications, such as monitoring, or submit externally collected
values to collectd.
+%package uptime
+Summary: uptime-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka uptime dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description uptime
+The uptime-plugin can collect the server's uptime.
+
%package users
Summary: users-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka users dla collectd
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
%build
%{__libtoolize}
--%{?with_ipmi:en}%{!?with_ipmi:dis}able-ipmi \
--%{?with_iptables:en}%{!?with_iptables:dis}able-iptables \
--%{?with_multimeter:en}%{!?with_multimeter:dis}able-multimeter \
+ --%{?with_mysql:en}%{!?with_mysql:dis}able-mysql \
--%{?with_netlink:en}%{!?with_netlink:dis}able-netlink \
+ --%{?with_notify:en}%{!?with_notify:dis}able-notify_desktop \
+ --%{?with_libesmtp:en}%{!?with_libesmtp:dis}able-notify_email \
+ --%{?with_ups:en}%{!?with_ups:dis}able-nut \
+ --%{?with_ping:en}%{!?with_ping:dis}able-ping \
+ --%{?with_psql:en}%{!?with_psql:dis}able-postgresql \
+ --%{?with_rrd:en}%{!?with_rrd:dis}able-rrdtool \
+ --%{?with_sensors:en}%{!?with_sensors:dis}able-sensors \
+ --%{?with_snmp:en}%{!?with_snmp:dis}able-snmp \
+ --%{?with_xmms:en}%{!?with_xmms:dis}able-xmms \
+ %{!?with_curl:--disable-{apache,ascent,bind,curl,nginx}} \
+ %{!?with_xml:--disable-{ascent,bind,libvirt}} \
--disable-ipvs \
--disable-libvirt \
--disable-perl
%module_scripts ascent
%module_scripts battery
%module_scripts bind
-%module_scripts cpufreq
+%module_scripts conntrack
%module_scripts cpu
+%module_scripts cpufreq
%module_scripts csv
%module_scripts curl
%module_scripts dbi
%module_scripts df
%module_scripts disk
-%{?with_dns:%module_scripts dns}
+%module_scripts dns
%module_scripts email
%module_scripts entropy
%module_scripts exec
%module_scripts filecount
+%module_scripts fscache
%module_scripts hddtemp
%module_scripts interface
-%{?with_ipmi:%module_scripts ipmi}
-%{?with_iptables:%module_scripts iptables}
+%module_scripts ipmi
+%module_scripts iptables
%module_scripts irq
%module_scripts load
%module_scripts logfile
%module_scripts mbmon
%module_scripts memcached
%module_scripts memory
-%{?with_multimeter:%module_scripts multimeter}
+%module_scripts multimeter
%module_scripts mysql
-%{?with_netlink:%module_scripts netlink}
+%module_scripts netlink
%module_scripts network
%module_scripts nfs
%module_scripts nginx
%module_scripts postgresql
%module_scripts powerdns
%module_scripts processes
+%module_scripts protocols
%module_scripts rrdtool
%module_scripts sensors
%module_scripts serial
%module_scripts snmp
%module_scripts swap
%module_scripts syslog
+%module_scripts table
%module_scripts tail
%module_scripts target_notification
%module_scripts target_replace
%module_scripts target_set
%module_scripts tcpconns
%module_scripts teamspeak2
+%module_scripts ted
%module_scripts thermal
%module_scripts unixsock
+%module_scripts uptime
%module_scripts users
%module_scripts uuid
%module_scripts vmem
%attr(755,root,root) %{_appdir}/cgi-bin/collection.cgi
########## PLUGINS:
+%if %{with xml}
+%if %{with curl}
%files apache
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/apache.conf
%attr(755,root,root) %{_libdir}/%{name}/apache.so
+%endif
+%endif
%files apcups
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/apcups.conf
%attr(755,root,root) %{_libdir}/%{name}/apcups.so
+%if %{with curl}
%files ascent
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ascent.conf
%attr(755,root,root) %{_libdir}/%{name}/ascent.so
+%endif
%files battery
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/battery.conf
%attr(755,root,root) %{_libdir}/%{name}/battery.so
+%if %{with xml}
+%if %{with curl}
%files bind
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/bind.conf
%attr(755,root,root) %{_libdir}/%{name}/bind.so
+%endif
+%endif
+
+%files conntrack
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/conntrack.conf
+%attr(755,root,root) %{_libdir}/%{name}/conntrack.so
%files cpu
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/csv.conf
%attr(755,root,root) %{_libdir}/%{name}/csv.so
+%if %{with curl}
%files curl
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/curl.conf
%attr(755,root,root) %{_libdir}/%{name}/curl.so
+%endif
%files dbi
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/filecount.conf
%attr(755,root,root) %{_libdir}/%{name}/filecount.so
+%files fscache
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/fscache.conf
+%attr(755,root,root) %{_libdir}/%{name}/fscache.so
+
%files hddtemp
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/hddtemp.conf
%attr(755,root,root) %{_libdir}/%{name}/multimeter.so
%endif
+%if %{with mysql}
%files mysql
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/mysql.conf
%attr(755,root,root) %{_libdir}/%{name}/mysql.so
+%endif
%if %{with netlink}
%files netlink
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nfs.conf
%attr(755,root,root) %{_libdir}/%{name}/nfs.so
+%if %{with curl}
%files nginx
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nginx.conf
%attr(755,root,root) %{_libdir}/%{name}/nginx.so
+%endif
+%if %{with notify}
%files notify_desktop
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/notify_desktop.conf
%attr(755,root,root) %{_libdir}/%{name}/notify_desktop.so
+%endif
+%if %{with libesmtp}
%files notify_email
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/notify_email.conf
%attr(755,root,root) %{_libdir}/%{name}/notify_email.so
+%endif
%files ntpd
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ntpd.conf
%attr(755,root,root) %{_libdir}/%{name}/ntpd.so
+%if %{with ups}
%files nut
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nut.conf
%attr(755,root,root) %{_libdir}/%{name}/nut.so
+%endif
%files openvpn
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/openvpn.conf
%attr(755,root,root) %{_libdir}/%{name}/openvpn.so
+%if %{with ping}
%files ping
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ping.conf
%attr(755,root,root) %{_libdir}/%{name}/ping.so
+%endif
+%if %{with psql}
%files postgresql
%defattr(640,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/postgresql.conf
%attr(755,root,root) %{_libdir}/%{name}/postgresql.so
%{_datadir}/%{name}/postgresql_default.conf
+%endif
%files powerdns
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/processes.conf
%attr(755,root,root) %{_libdir}/%{name}/processes.so
+%files protocols
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/protocols.conf
+%attr(755,root,root) %{_libdir}/%{name}/protocols.so
+
+%if %{with rrd}
%files rrdtool
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/rrdtool.conf
%attr(755,root,root) %{_libdir}/%{name}/rrdtool.so
+%endif
+%if %{with sensors}
%files sensors
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/sensors.conf
%attr(755,root,root) %{_libdir}/%{name}/sensors.so
+%endif
%files serial
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/serial.conf
%attr(755,root,root) %{_libdir}/%{name}/serial.so
+%if %{with snmp}
%files snmp
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/snmp.conf
%attr(755,root,root) %{_libdir}/%{name}/snmp.so
%{_mandir}/man5/collectd-snmp.5*
+%endif
%files swap
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/syslog.conf
%attr(755,root,root) %{_libdir}/%{name}/syslog.so
+%files table
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/table.conf
+%attr(755,root,root) %{_libdir}/%{name}/table.so
+
%files tail
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/tail.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/teamspeak2.conf
%attr(755,root,root) %{_libdir}/%{name}/teamspeak2.so
+%files ted
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ted.conf
+%attr(755,root,root) %{_libdir}/%{name}/ted.so
+
%files thermal
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/thermal.conf
%attr(755,root,root) %{_libdir}/%{name}/unixsock.so
%{_mandir}/man5/collectd-unixsock.5*
+%files uptime
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/uptime.conf
+%attr(755,root,root) %{_libdir}/%{name}/uptime.so
+
%files users
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/users.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/wireless.conf
%attr(755,root,root) %{_libdir}/%{name}/wireless.so
+%if %{with xmms}
%files xmms
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/xmms.conf
%attr(755,root,root) %{_libdir}/%{name}/xmms.so
+%endif