# - Current plugins status:
# apache . . . . . . yes
# apcups . . . . . . yes
-# apple_sensors . . . no
+# apple_sensors . . . no (obvious)
# ascent . . . . . . yes
# battery . . . . . . yes
# cpu . . . . . . . . yes
# hddtemp . . . . . . yes
# interface . . . . . yes
# iptables . . . . . yes
-# ipmi . . . . . . . no
-# ipvs . . . . . . . no (ip_vs.h not found)
+# ipmi . . . . . . . yes
+# ipvs . . . . . . . no (ip_vs.h not found - llh to be fixed)
# irq . . . . . . . . yes
-# libvirt . . . . . . no
+# libvirt . . . . . . no (requires library)
# load . . . . . . . yes
# logfile . . . . . . yes
# mbmon . . . . . . . yes
# memcached . . . . . yes
# memory . . . . . . yes
-# multimeter . . . . yes
+# multimeter . . . . no
# mysql . . . . . . . yes
# netlink . . . . . . yes
# network . . . . . . yes
# nfs . . . . . . . . yes
# nginx . . . . . . . yes
# ntpd . . . . . . . yes
-# nut . . . . . . . . no
-# perl . . . . . . . no (needs libperl)
+# nut . . . . . . . . yes
+# perl . . . . . . . no (needs libperl)
# ping . . . . . . . yes
# powerdns . . . . . yes
# processes . . . . . yes
# swap . . . . . . . yes
# syslog . . . . . . yes
# tail . . . . . . . yes
-# tape . . . . . . . no
+# tape . . . . . . . no ?
# tcpconns . . . . . yes
# teamspeak2 . . . . yes
# unixsock . . . . . yes
# vserver . . . . . . yes
# wireless . . . . . yes
# xmms . . . . . . . yes
-%bcond_without dns
-%bcond_without iptables
-%bcond_without netlink
-
+#
+# Conditional build:
+%bcond_without dns # ???
+%bcond_without ipmi # ipmi plugin package
+%bcond_without iptables # iptables plugin
+%bcond_with multimeter # multimeter plugin
+%bcond_without netlink # netlink plugin
+#
#http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=358637
%ifarch %{x8664}
%undefine with_iptables
Summary: Collects system information in RRD files
Summary(pl.UTF-8): Zbieranie informacji o systemie w plikach RRD
Name: collectd
-Version: 4.4.2
-Release: 2
+Version: 4.5.0
+Release: 5.2
License: GPL v2
Group: Daemons
Source0: http://collectd.org/files/%{name}-%{version}.tar.gz
-# Source0-md5: dbffe35a2d19840e86253c7052485ff0
+# Source0-md5: f73dbadc8dca136b98c0f96567e0f78c
Source1: %{name}.conf
Source2: %{name}.init
Source3: %{name}-http.conf
+Source10: %{name}-ascent.conf
+Source11: %{name}-apache.conf
+Source12: %{name}-dns.conf
+Source13: %{name}-hddtemp.conf
+Source14: %{name}-ipmi.conf
+Source15: %{name}-mysql.conf
+Source16: %{name}-nginx.conf
+Source17: %{name}-notify_desktop.conf
+Source18: %{name}-notify_email.conf
+Source19: %{name}-nut.conf
+Source20: %{name}-ping.conf
+Source21: %{name}-postgresql.conf
+Source22: %{name}-powerdns.conf
+Source23: %{name}-rrdtool.conf
+Source24: %{name}-sensors.conf
+Source25: %{name}-snmp.conf
+Source26: %{name}-uuid.conf
+Source27: %{name}-xmms.conf
+Source28: %{name}-tcpconns.conf
+Source29: %{name}-teamspeak2.conf
+Source30: %{name}-thermal.conf
+Source31: %{name}-unixsock.conf
+Source32: %{name}-users.conf
+Source33: %{name}-vmem.conf
+Source34: %{name}-vserver.conf
+Source35: %{name}-wireless.conf
URL: http://collectd.org/
BuildRequires: OpenIPMI-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: curl-devel
-BuildRequires: iptables-devel
+BuildRequires: iptables-devel >= 1.4.1.1-4
+BuildRequires: libesmtp-devel
BuildRequires: libnetlink-devel
+BuildRequires: libnotify-devel
BuildRequires: liboping-devel
BuildRequires: libpcap-devel
BuildRequires: libstatgrab-devel >= 0.12
BuildRequires: libtool
BuildRequires: lm_sensors-devel
BuildRequires: mysql-devel
+BuildRequires: nut-devel
BuildRequires: perl-devel
BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: rrdtool-devel
%description hddtemp
hddtemp plugin for collectd.
+%package ipmi
+Summary: ipmi-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka ipmi dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description ipmi
+ipmi plugin for collectd.
+
+%description ipmi -l pl.UTF-8
+Wtyczka ipmi dla collectd.
+
%package mysql
Summary: mysql-plugin for collectd
Summary(pl_PL.UTF-8): Moduł mysql dla collectd.
%description nginx
nginx plugin for collectd.
+%package notify_desktop
+Summary: notify_desktop for collectd
+Summary(pl_PL.UTF-8): Wtyczka notify_desktop dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description notify_desktop
+notify_desktop plugin for collectd.
+
+%package notify_email
+Summary: notify_email for collectd
+Summary(pl_PL.UTF-8): Wtyczka notify_email dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description notify_email
+notify_email plugin for collectd.
+
+%package nut
+Summary: nut-plugin for collectd
+Summary(pl_PL.UTF-8): Wtyczka nut dla collectd
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description nut
+nut plugin for collectd.
+
%package ping
Summary: ping-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka ping dla collectd
%description ping
ping plugin for collectd.
+%package postgresql
+Summary: mysql-plugin for collectd
+Summary(pl_PL.UTF-8): Moduł postgresql dla collectd.
+Group: Daemons
+Requires: %{name} = %{version}-%{release}
+
+%description postgresql
+PostgreSQL querying plugin. This plugins provides data of issued commands,
+called handlers and database traffic.
+
+%description postgresql -l pl.UTF-8
+Moduł odpytujący PostgreSQL. Wtyczka udostępnia dane o wydawanych
+poleceniach, wywoływanych procedurach obsługi i ruchu bazodanowym.
+
%package powerdns
Summary: powerdns-plugin for collectd
Summary(pl_PL.UTF-8): Wtyczka powerdns dla collectd
--with-libstatgrab=/usr \
--with-lm-sensors=/usr \
--with-libmysql=/usr \
- --%{?with_dns:en}%{?!with_dns:dis}able-dns \
- --%{?with_iptables:en}%{?!with_iptables:dis}able-iptables \
- --%{?with_netlink:en}%{?!with_netlink:dis}able-netlink
+ --%{?with_ipmi:en}%{!?with_ipmi:dis}able-ipmi \
+ --%{?with_multimeter:en}%{!?with_multimeter:dis}able-multimeter \
+ --%{?with_dns:en}%{!?with_dns:dis}able-dns \
+ --%{?with_iptables:en}%{!?with_iptables:dis}able-iptables \
+ --%{?with_netlink:en}%{!?with_netlink:dis}able-netlink \
+ --disable-ipvs
-%{__make} LDFLAGS="%{rpmldflags} -lstatgrab"
+%{__make} LDFLAGS="%{rpmldflags} -lstatgrab" \
+ BUILD_WITH_OPENIPMI_CFLAGS="-I/usr/include" \
+ BUILD_WITH_OPENIPMI_LIBS="-L/usr/lib64 -lOpenIPMIutils -lOpenIPMIpthread"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_var}/{log/,lib/%{name}},/etc/rc.d/init.d/} \
+install -d $RPM_BUILD_ROOT{%{_var}/{log/,lib/%{name}},/etc/{rc.d/init.d/,collectd.d}} \
$RPM_BUILD_ROOT{%{_appdir}/cgi-bin,%{_webappdir},%{_pkglibdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-#install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.conf
touch $RPM_BUILD_ROOT%{_var}/log/collectd.log
-install src/collectd.conf $RPM_BUILD_ROOT%{_sysconfdir}/collectd.conf
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
# Web frontend:
install %{SOURCE3} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
install %{SOURCE3} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
+### Configs instalation ###
+# Example config in sources: src/collectd.conf
+install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.conf
+install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/ascent.conf
+install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/apache.conf
+install %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/dns.conf
+install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/hddtemp.conf
+install %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/ipmi.conf
+install %{SOURCE15} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/mysql.conf
+install %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/nginx.conf
+install %{SOURCE17} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/notify_desktop.conf
+install %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/notify_email.conf
+install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/nut.conf
+install %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/ping.conf
+install %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/postgresql.conf
+install %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/powerdns.conf
+install %{SOURCE23} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/rrdtool.conf
+install %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/sensors.conf
+install %{SOURCE25} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/snmp.conf
+install %{SOURCE26} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/uuid.conf
+install %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/xmms.conf
+install %{SOURCE28} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/tcpconns.conf
+install %{SOURCE29} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/teamspeak2.conf
+install %{SOURCE30} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/thermal.conf
+install %{SOURCE31} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/unixsock.conf
+install %{SOURCE32} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/users.conf
+install %{SOURCE33} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/vmem.conf
+install %{SOURCE34} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/vserver.conf
+install %{SOURCE35} $RPM_BUILD_ROOT%{_sysconfdir}/collectd.d/wireless.conf
+
# Cleanups:
rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog README TODO contrib
-
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
+%dir %{_sysconfdir}/%{name}.d
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/tcpconns.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/teamspeak2.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/thermal.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/unixsock.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/users.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/vmem.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/vserver.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/wireless.conf
%attr(755,root,root) %{_sbindir}/collectd
%attr(755,root,root) %{_sbindir}/collectdmon
%attr(755,root,root) %{_bindir}/collectd-nagios
+
%dir %{_libdir}/%{name}
%attr(755,root,root) %{_libdir}/%{name}/apcups.so
#%attr(755,root,root) %{_libdir}/%{name}/apple_sensors.so
%attr(755,root,root) %{_libdir}/%{name}/email.so
%attr(755,root,root) %{_libdir}/%{name}/entropy.so
%attr(755,root,root) %{_libdir}/%{name}/exec.so
+%attr(755,root,root) %{_libdir}/%{name}/filecount.so
%attr(755,root,root) %{_libdir}/%{name}/interface.so
%if %{with iptables}
%attr(755,root,root) %{_libdir}/%{name}/iptables.so
%endif
+# Disabled - requires fixed libc-headers or whole kernel source.
+# It was marked as disabled in status message on top.
+#%attr(755,root,root) %{_libdir}/%{name}/ipvs.so
%attr(755,root,root) %{_libdir}/%{name}/irq.so
%attr(755,root,root) %{_libdir}/%{name}/load.so
%attr(755,root,root) %{_libdir}/%{name}/logfile.so
%attr(755,root,root) %{_libdir}/%{name}/mbmon.so
%attr(755,root,root) %{_libdir}/%{name}/memcached.so
%attr(755,root,root) %{_libdir}/%{name}/memory.so
+%if %{with multimeter}
%attr(755,root,root) %{_libdir}/%{name}/multimeter.so
+%endif
%if %{with netlink}
%attr(755,root,root) %{_libdir}/%{name}/netlink.so
%endif
%attr(755,root,root) %{_libdir}/%{name}/syslog.so
%attr(755,root,root) %{_libdir}/%{name}/tail.so
#%attr(755,root,root) %{_libdir}/%{name}/tape.so
-%attr(755,root,root) %{_libdir}/%{name}/teamspeak2.so
%attr(755,root,root) %{_libdir}/%{name}/tcpconns.so
+%attr(755,root,root) %{_libdir}/%{name}/teamspeak2.so
+%attr(755,root,root) %{_libdir}/%{name}/thermal.so
#%attr(755,root,root) %{_libdir}/%{name}/traffic.so
%attr(755,root,root) %{_libdir}/%{name}/unixsock.so
%attr(755,root,root) %{_libdir}/%{name}/users.so
%attr(755,root,root) %{_libdir}/%{name}/wireless.so
%{_libdir}/%{name}/types.db
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.conf
-
%attr(754,root,root) /etc/rc.d/init.d/%{name}
%{_mandir}/man1/collectd.1*
########## PLUGINS:
%files ascent
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ascent.conf
%attr(755,root,root) %{_libdir}/%{name}/ascent.so
%files apache
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/apache.conf
%attr(755,root,root) %{_libdir}/%{name}/apache.so
%files collection
%defattr(644,root,root,755)
+%dir %{_webappdir}
%config(noreplace) %verify(not md5 mtime size) %{_webappdir}/collection.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/apache.conf
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webappdir}/httpd.conf
+%dir %{_appdir}
+%dir %{_appdir}/cgi-bin
%attr(755,root,root) %{_appdir}/cgi-bin/collection.cgi
%files dns
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/dns.conf
%attr(755,root,root) %{_libdir}/%{name}/dns.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}/hddtemp.so
+%if %{with ipmi}
+%files ipmi
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/ipmi.conf
+%attr(755,root,root) %{_libdir}/%{name}/ipmi.so
+%endif
+
%files mysql
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/mysql.conf
%attr(755,root,root) %{_libdir}/%{name}/mysql.so
%files nginx
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/nginx.conf
%attr(755,root,root) %{_libdir}/%{name}/nginx.so
+%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
+
+%files notify_email
+%defattr(644,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
+
+%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
+
%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
+%files postgresql
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/postgresql.conf
+%attr(755,root,root) %{_libdir}/%{name}/postgresql.so
+
%files powerdns
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/powerdns.conf
%attr(755,root,root) %{_libdir}/%{name}/powerdns.so
%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
%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
%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
%files uuid
%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}.d/uuid.conf
%attr(755,root,root) %{_libdir}/%{name}/uuid.so
%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