]> git.pld-linux.org Git - packages/collectd.git/blobdiff - collectd.spec
- own directories
[packages/collectd.git] / collectd.spec
index 4eb386dd6bd08a1b976cf3e6ff8817e11a088195..e7e6a125776165f35d5df25bc90aeff64837c717 100644 (file)
 # TODO:
 # - lm_sensors subpackage
-# - perl (plugin and bindings) subpackage
-# - hddtemp subpackage
-# - initscripts for local/client/server mode (subpackage ?)
-# - collection CGI script
 # - package contrib scripts as %doc
-# - build nut, iptables and other plugins
-# - fix building perl plugin
+# - put every plugin into subpackages
+# - Current plugins status:
+#    apache  . . . . . . yes
+#    apcups  . . . . . . yes
+#    apple_sensors . . . no            (obvious)
+#    ascent  . . . . . . yes
+#    battery . . . . . . yes
+#    cpu . . . . . . . . yes
+#    cpufreq . . . . . . yes
+#    csv . . . . . . . . yes
+#    df  . . . . . . . . yes
+#    disk  . . . . . . . yes
+#    dns . . . . . . . . yes
+#    email . . . . . . . yes
+#    entropy . . . . . . yes
+#    exec  . . . . . . . yes
+#    hddtemp . . . . . . yes
+#    interface . . . . . yes
+#    iptables  . . . . . yes
+#    ipmi  . . . . . . . yes
+#    ipvs  . . . . . . . no            (ip_vs.h not found - llh to be fixed)
+#    irq . . . . . . . . yes
+#    libvirt . . . . . . no            (requires library)
+#    load  . . . . . . . yes
+#    logfile . . . . . . yes
+#    mbmon . . . . . . . yes
+#    memcached . . . . . yes
+#    memory  . . . . . . yes
+#    multimeter  . . . . no
+#    mysql . . . . . . . yes
+#    netlink . . . . . . yes
+#    network . . . . . . yes
+#    nfs . . . . . . . . yes
+#    nginx . . . . . . . yes
+#    ntpd  . . . . . . . yes
+#    nut . . . . . . . . yes
+#    perl  . . . . . . . no            (needs libperl)
+#    ping  . . . . . . . yes
+#    powerdns  . . . . . yes
+#    processes . . . . . yes
+#    rrdtool . . . . . . yes
+#    sensors . . . . . . yes
+#    serial  . . . . . . yes
+#    snmp  . . . . . . . yes
+#    swap  . . . . . . . yes
+#    syslog  . . . . . . yes
+#    tail  . . . . . . . yes
+#    tape  . . . . . . . no            ?
+#    tcpconns  . . . . . yes
+#    teamspeak2  . . . . yes
+#    unixsock  . . . . . yes
+#    users . . . . . . . yes
+#    uuid  . . . . . . . yes
+#    vmem  . . . . . . . yes
+#    vserver . . . . . . yes
+#    wireless  . . . . . yes
+#    xmms  . . . . . . . yes
+#
+# 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
+%undefine with_netlink
+%endif
 Summary:       Collects system information in RRD files
 Summary(pl.UTF-8):     Zbieranie informacji o systemie w plikach RRD
 Name:          collectd
-Version:       4.4.0
-Release:       0.1
+Version:       4.5.0
+Release:       4
 License:       GPL v2
 Group:         Daemons
 Source0:       http://collectd.org/files/%{name}-%{version}.tar.gz
-# Source0-md5: a677ddcad97fdb3cdd09efac4842b11d
+# Source0-md5: f73dbadc8dca136b98c0f96567e0f78c
 Source1:       %{name}.conf
+Source2:       %{name}.init
+Source3:       %{name}-http.conf
 URL:           http://collectd.org/
 BuildRequires: OpenIPMI-devel
 BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: curl-devel
+BuildRequires: iptables-devel >= 1.4.1.1-4
+BuildRequires: libesmtp-devel
 BuildRequires: libnetlink-devel
-BuildRequires: libstatgrab-devel >= 0.12
+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.228
+BuildRequires: rpmbuild(macros) >= 1.268
 BuildRequires: rrdtool-devel
+BuildRequires: net-snmp-devel
+BuildRequires: xmms-devel
 Requires(post,preun):  /sbin/chkconfig
+Requires:      rc-scripts
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
+%define         _pkglibdir      /var/lib/%{name}
+%define         _webapps        /etc/webapps 
+%define         _webapp         %{name}
+%define         _webappdir      %{_webapps}/%{_webapp}
+%define         _appdir         %{_datadir}/%{_webapp}
+
 %description
 collectd is a small daemon which collects system information every 10
 seconds and writes the results in an RRD-file.
@@ -54,6 +135,15 @@ urychamiania ciężkiego interpretera za każdym razem, kiedy powinny być
 zapisane nowe wartości. Dzięki temu collect może mieć rozdzielczość 10
 sekund i nie obciążać zbytnio systemu.
 
+%package ascent
+Summary:       ascent-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka ascent dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%description ascent
+ascent plugin for collectd.
+
 %package apache
 Summary:       apache-plugin for collectd
 Summary(pl_PL.UTF-8):  Wtyczka apache dla collectd
@@ -67,6 +157,46 @@ This plugin collectd data provided by Apache's `mod_status'.
 Wtyczka collectd zbierająca informacje udostępniane przez moduł
 'mod_status' Apacha.
 
+%package collection
+Summary:       Web script for collectiond
+Summary(pl_PL.UTF-8):  Web script for collectiond
+Group:         Applications/WWW
+Requires:      %{name} = %{version}-%{release}
+
+%description collection
+Web script for collectiond
+
+%package dns
+Summary:       dns-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka dns dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      perl-rrdtool
+
+%description dns
+dns plugin for collectd.
+
+%package hddtemp
+Summary:       hddtemp-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka hddtemp dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%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.
@@ -81,32 +211,140 @@ called handlers and database traffic.
 Moduł odpytujący MySQL. Wtyczka udostępnia dane o wydawanych
 poleceniach, wywoływanych procedurach obsługi i ruchu bazodanowym.
 
+%package nginx
+Summary:       nginx-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka nginx dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%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 ping
+Summary:       ping-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka ping dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%description ping
+ping plugin for collectd.
+
+%package powerdns
+Summary:       powerdns-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka powerdns dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%description powerdns
+powerdns plugin for collectd.
+
+%package rrdtool
+Summary:       rrdtool-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka rrdtool dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      rrdtool
+
+%description rrdtool
+RRDTOOL plugin for collectd.
+
+%package sensors
+Summary:       sensors-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka sensors dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%description sensors
+This plugin collectd data provided by hardware sensors.
+
+%package snmp
+Summary:       snmp-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka snmp dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%description snmp
+snmp plugin for collectd.
+
+%package uuid
+Summary:       uuid-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka uuid dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+
+%description uuid
+This plugin collectd UUID data.
+
+%package xmms
+Summary:       xmms-plugin for collectd
+Summary(pl_PL.UTF-8):  Wtyczka xmms dla collectd
+Group:         Daemons
+Requires:      %{name} = %{version}-%{release}
+Requires:      xmms-libs
+
+%description xmms
+This plugin collectd data provided by XMMS.
+
 %prep
 %setup -q
 
+cat >> collection.conf <<'EOF'
+datadir: "/var/lib/collectd/"
+libdir: "/usr/lib/collectd/"
+EOF
+
 %build
 %{__libtoolize}
 %{__aclocal}
 %{__autoconf}
 %{__autoheader}
 %{__automake}
+
 %configure \
        --with-libstatgrab=/usr \
        --with-lm-sensors=/usr \
-       --with-libmysql=/usr 
-%{__make} LDFLAGS="%{rpmldflags} -lstatgrab"
+       --with-libmysql=/usr \
+       --%{?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" \
+       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/} \
+       $RPM_BUILD_ROOT{%{_appdir}/cgi-bin,%{_webappdir},%{_pkglibdir}}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT%{_var}/{log/,lib/%{name}}
 #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 contrib/collection.conf $RPM_BUILD_ROOT%{_webappdir}
+install contrib/collection.cgi $RPM_BUILD_ROOT%{_appdir}/cgi-bin
+install %{SOURCE3} $RPM_BUILD_ROOT%{_webappdir}/apache.conf
+install %{SOURCE3} $RPM_BUILD_ROOT%{_webappdir}/httpd.conf
+
+# Cleanups:
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la
 
 %clean
@@ -122,6 +360,18 @@ if [ "$1" = "0" ]; then
        /sbin/chkconfig --del %{name}
 fi
 
+%triggerin collection -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun collection -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin collection -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun collection -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
 %files
 %defattr(644,root,root,755)
 %doc AUTHORS ChangeLog README TODO contrib
@@ -132,61 +382,62 @@ fi
 %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}/ascent.so
 %attr(755,root,root) %{_libdir}/%{name}/battery.so
 %attr(755,root,root) %{_libdir}/%{name}/cpufreq.so
 %attr(755,root,root) %{_libdir}/%{name}/cpu.so
 %attr(755,root,root) %{_libdir}/%{name}/csv.so
 %attr(755,root,root) %{_libdir}/%{name}/df.so
 %attr(755,root,root) %{_libdir}/%{name}/disk.so
-%attr(755,root,root) %{_libdir}/%{name}/dns.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}/hddtemp.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}/notify_email.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}/network.so
+%attr(755,root,root) %{_libdir}/%{name}/nut.so
 %attr(755,root,root) %{_libdir}/%{name}/nfs.so
-%attr(755,root,root) %{_libdir}/%{name}/nginx.so
 %attr(755,root,root) %{_libdir}/%{name}/ntpd.so
 #%attr(755,root,root) %{_libdir}/%{name}/perl.so
-%attr(755,root,root) %{_libdir}/%{name}/ping.so
-%attr(755,root,root) %{_libdir}/%{name}/powerdns.so
+%attr(755,root,root) %{_libdir}/%{name}/postgresql.so
 %attr(755,root,root) %{_libdir}/%{name}/processes.so
-%attr(755,root,root) %{_libdir}/%{name}/rrdtool.so
-#%attr(755,root,root) %{_libdir}/%{name}/sensors.so
-%attr(755,root,root) %{_libdir}/%{name}/sensors.so
 %attr(755,root,root) %{_libdir}/%{name}/serial.so
-%attr(755,root,root) %{_libdir}/%{name}/snmp.so
 %attr(755,root,root) %{_libdir}/%{name}/swap.so
 %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}/thermal.so
 #%attr(755,root,root) %{_libdir}/%{name}/traffic.so
 %attr(755,root,root) %{_libdir}/%{name}/unixsock.so
-%attr(755,root,root) %{_libdir}/%{name}/uuid.so
 %attr(755,root,root) %{_libdir}/%{name}/users.so
 %attr(755,root,root) %{_libdir}/%{name}/vmem.so
 %attr(755,root,root) %{_libdir}/%{name}/vserver.so
 %attr(755,root,root) %{_libdir}/%{name}/wireless.so
-%attr(755,root,root) %{_libdir}/%{name}/xmms.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}
-#%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
 
 %{_mandir}/man1/collectd.1*
 %{_mandir}/man1/collectd-nagios.1*
@@ -201,11 +452,74 @@ fi
 %{_var}/log/collectd.log
 %dir %{_var}/lib/%{name}
 
+########## PLUGINS:
+%files ascent
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/ascent.so
 
 %files apache
 %defattr(644,root,root,755)
 %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}/cgi-bin
+%attr(755,root,root) %{_appdir}/cgi-bin/collection.cgi
+
+%files dns
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/dns.so
+
+%files hddtemp
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/hddtemp.so
+
+%if %{with ipmi}
+%files ipmi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/ipmi.so
+%endif
+
 %files mysql
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/%{name}/mysql.so
+
+%files nginx
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/nginx.so
+
+%files notify_desktop
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/notify_desktop.so
+
+%files ping
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/ping.so
+
+%files powerdns
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/powerdns.so
+
+%files rrdtool
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/rrdtool.so
+
+%files sensors
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/sensors.so
+
+%files snmp
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/snmp.so
+
+%files uuid
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/uuid.so
+
+%files xmms
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/xmms.so
This page took 0.068263 seconds and 4 git commands to generate.