X-Git-Url: http://git.pld-linux.org/?p=packages%2Fcollectd.git;a=blobdiff_plain;f=collectd.spec;h=a74ec15c3445ebc9d39b583ae8ae8236b11bf1fe;hp=21317d659d75140beabef8d39bf263dd99edeb34;hb=b4b27e4a1e17ea63638a28468661070952cd8511;hpb=ff0d0ea0483a1a20fb5f4f6706a28f63ffc4d0f3 diff --git a/collectd.spec b/collectd.spec index 21317d6..a74ec15 100644 --- a/collectd.spec +++ b/collectd.spec @@ -1,12 +1,11 @@ # TODO: # - lm_sensors subpackage -# - initscripts for local/client/server mode (subpackage ?) # - package contrib scripts as %doc # - put every plugin into subpackages # - Current plugins status: # apache . . . . . . yes # apcups . . . . . . yes -# apple_sensors . . . no +# apple_sensors . . . no (obvious) # ascent . . . . . . yes # battery . . . . . . yes # cpu . . . . . . . . yes @@ -21,24 +20,24 @@ # 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 @@ -49,7 +48,7 @@ # swap . . . . . . . yes # syslog . . . . . . yes # tail . . . . . . . yes -# tape . . . . . . . no +# tape . . . . . . . no ? # tcpconns . . . . . yes # teamspeak2 . . . . yes # unixsock . . . . . yes @@ -59,37 +58,62 @@ # 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.3 +Version: 4.5.0 +Release: 5 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 +Source2: %{name}.init +Source3: %{name}-http.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.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. @@ -101,15 +125,15 @@ every time new values should be logged. This allows collectd to have a 10 second resolution while being nice to the system. %description -l pl.UTF-8 -collectd to mały demon zbierający co 10 sekund informacje o systemie -i zapisujący wyniki do pliku RRD. +collectd to mały demon zbierający co 10 sekund informacje o systemie i +zapisujący wyniki do pliku RRD. W odróżnieniu od innych podobnych programów collectd nie jest skryptem, lecz jest napisany w czystym C z myślą o wydajności i przenośności. Jako demon pozostaje w pamięci, więc nie ma potrzeby -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. +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 @@ -147,6 +171,7 @@ 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. @@ -160,6 +185,18 @@ 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. @@ -183,6 +220,33 @@ 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 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 @@ -192,6 +256,29 @@ Requires: %{name} = %{version}-%{release} %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 +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 @@ -242,35 +329,56 @@ 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 -d $RPM_BUILD_ROOT/home/services/httpd/cgi-bin -install -d $RPM_BUILD_ROOT/etc/rc.d/init.d/ #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 contrib/collection.conf $RPM_BUILD_ROOT%{_sysconfdir} -install contrib/collection.cgi $RPM_BUILD_ROOT/home/services/httpd/cgi-bin -rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/*.la 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 rm -rf $RPM_BUILD_ROOT @@ -284,6 +392,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 @@ -303,21 +423,30 @@ fi %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}/network.so %attr(755,root,root) %{_libdir}/%{name}/nfs.so %attr(755,root,root) %{_libdir}/%{name}/ntpd.so #%attr(755,root,root) %{_libdir}/%{name}/perl.so -%attr(755,root,root) %{_libdir}/%{name}/powerdns.so %attr(755,root,root) %{_libdir}/%{name}/processes.so %attr(755,root,root) %{_libdir}/%{name}/serial.so %attr(755,root,root) %{_libdir}/%{name}/swap.so @@ -326,6 +455,7 @@ fi #%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}/users.so @@ -362,8 +492,13 @@ fi %files collection %defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/collection.conf -%attr(755,root,root) /home/services/httpd/cgi-bin/collection.cgi +%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) @@ -373,6 +508,12 @@ fi %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 @@ -381,10 +522,30 @@ fi %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 notify_email +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/notify_email.so + +%files nut +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/nut.so + %files ping %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/%{name}/ping.so +%files postgresql +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/%{name}/postgresql.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