Code

Quote arguments
[collectd.git] / contrib / redhat / collectd.spec
index bce76473382112f2f32714ef593dd00fee7624b3..ef7bdaa937d9b7f93fcb89481461502405f79102 100644 (file)
-Summary:       Statistics collection daemon for filling RRD files.
+%global _hardened_build 1
+
+Summary:       Statistics collection daemon for filling RRD files
 Name:          collectd
-Version:       4.3.1
-Release:       0.centos5
+Version:       5.1.0
+Release:       3%{?dist}
+URL:           http://collectd.org
 Source:                http://collectd.org/files/%{name}-%{version}.tar.gz
-License:       GPL
+License:       GPLv2
 Group:         System Environment/Daemons
 BuildRoot:     %{_tmppath}/%{name}-%{version}-root
-BuildPrereq:   lm_sensors-devel, mysql-devel, rrdtool-devel, curl-devel, libpcap-devel, net-snmp-devel, libstatgrab-devel, mysql-devel, libxml2-devel, libiptcdata-devel
-Requires:      rrdtool, perl-Regexp-Common, libstatgrab
-Packager:      RightScale <support@rightscale.com>
+BuildRequires: curl-devel, libgcrypt-devel, libxml2-devel, libstatgrab-devel
 Vendor:                collectd development team <collectd@verplant.org>
 
+Requires(post):                chkconfig
+Requires(preun):       chkconfig, initscripts
+Requires(postun):      initscripts
+
 %description
 collectd is a small daemon which collects system information periodically and
 provides mechanisms to monitor and store the values in a variety of ways. It
-is written in C for performance. Since the daemon doesn't need to startup
+is written in C for performance. Since the daemon doesn't need to start up
 every time it wants to update the values it's very fast and easy on the
 system. Also, the statistics are very fine grained since the files are updated
 every 10 seconds.
 
+%package amqp
+Summary:       AMQP plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: librabbitmq-devel
+%description amqp
+The AMQP plugin transmits or receives values collected by collectd via the
+Advanced Message Queuing Protocol (AMQP).
+
 %package apache
-Summary:       apache-plugin for collectd.
+Summary:       Apache plugin for collectd
 Group:         System Environment/Daemons
-Requires:      collectd = %{version}, curl
+Requires:      %{name}%{?_isa} = %{version}-%{release}
 %description apache
 This plugin collects data provided by Apache's `mod_status'.
 
+%package ascent
+Summary:       Ascent plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+%description ascent
+The Ascent plugin reads and parses the statistics page of Ascent, a free and
+open-source server software for the game World of Warcraft by Blizzard
+Entertainment.
+
+%package bind
+Summary:       Bind plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+%description bind
+The BIND plugin retrieves this information that's encoded in XML and provided
+via HTTP and submits the values to collectd.
+
+%package curl
+Summary:       Curl plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+%description curl
+The cURL plugin uses libcurl to read files and then parses them according to
+the configuration.
+
+%package curl_json
+Summary:       Curl_json plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}, curl, yajl
+Buildrequires: yajl-devel
+%description curl_json
+The cURL-JSON plugin queries JavaScript Object Notation (JSON) data using the
+cURL library and parses it according to the user's configuration.
+
+%package curl_xml
+Summary:       Curl_xml plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+%description curl_xml
+The cURL-XML plugin reads files using libcurl and parses it as Extensible
+Markup Language (XML).
+
+%package dbi
+Summary:       DBI plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+Buildrequires: libdbi-devel
+%description dbi
+The DBI plugin uses libdbi, a database abstraction library, to execute SQL
+statements on a database and read back the result.
+
+%package dns
+Summary:       DNS plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+Buildrequires: libpcap-devel
+%description dns
+The DNS plugin has a similar functionality to dnstop: It uses libpcap to get a
+copy of all traffic from/to port UDP/53 (that's the DNS port), interprets the
+packets and collects statistics of your DNS traffic.
+
 %package email
-Summary:       email-plugin for collectd.
+Summary:       Email plugin for collectd
 Group:         System Environment/Daemons
-Requires:      collectd = %{version}, spamassassin
+Requires:      %{name}%{?_isa} = %{version}-%{release}, spamassassin
 %description email
 This plugin collects data provided by spamassassin.
 
+%package gmond
+Summary:       Gmond plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: ganglia-devel
+%description gmond
+The gmond plugin subscribes to a Multicast group to receive data from gmond,
+the client daemon of the Ganglia project.
+
+%package hddtemp
+Summary:       Hddtemp plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}, hddtemp
+%description hddtemp
+The HDDTemp plugin collects the temperature of hard disks. The temperatures are
+provided via SMART and queried by the external hddtemp daemon.
+
+%package ipmi
+Summary:       IPMI plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: OpenIPMI-devel
+%description ipmi
+The IPMI plugin uses the OpenIPMI library to read hardware sensors from servers
+using the Intelligent Platform Management Interface (IPMI).
+
+%package iptables
+Summary:       IPtables plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: iptables-devel
+%description iptables
+The IP-Tables plugin can gather statistics from your ip_tables based packet
+filter (aka. firewall) for both the IPv4 and the IPv6 protocol. It can collect
+the byte- and packet-counters of selected rules and submit them to collectd.
+
+%package java
+Summary:       Java plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: java-devel, jpackage-utils
+Requires:      java, jpackage-utils
+%description java
+This plugin for collectd allows plugins to be written in Java and executed
+in an embedded JVM.
+
+%package libvirt
+Summary:       Libvirt plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: libvirt-devel
+%description libvirt
+This plugin collects information from virtualized guests.
+
+%package memcachec
+Summary:       Memcachec plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: libmemcached-devel
+%description memcachec
+The Memcachec plugin uses libmemcached to read statistics from a Memcached
+instance. Note that another plugin, named `memcached', exists and does a
+similar job, without requiring the installation of libmemcached.
+
 %package mysql
-Summary:       mysql-module for collectd.
+Summary:       MySQL plugin for collectd
 Group:         System Environment/Daemons
-Requires:      collectd = %{version}, mysql
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: mysql-devel
 %description mysql
-MySQL querying plugin. This plugins provides data of issued commands, called
+MySQL querying plugin. This plugin provides data of issued commands, called
 handlers and database traffic.
 
 %package nginx
-Summary:       nginx-plugin for collectd.
+Summary:       Nginx plugin for collectd
 Group:         System Environment/Daemons
-Requires:      collectd = %{version}, curl
+Requires:      %{name}%{?_isa} = %{version}-%{release}
 %description nginx
 This plugin gets data provided by nginx.
 
+%package notify_desktop
+Summary:       Notify_desktop plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: libnotify-devel
+%description notify_desktop
+The Notify Desktop plugin uses libnotify to display notifications to the user
+via the desktop notification specification, i. e. on an X display.
+
+%package notify_email
+Summary:       Notify_email plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: libesmtp-devel
+%description notify_email
+The Notify Email plugin uses libESMTP to send notifications to a configured
+email address.
+
+%package nut
+Summary:       Nut plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: nut-devel
+%description nut
+This plugin for collectd provides Network UPS Tools support.
+
+%package perl
+Summary:       Perl plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+Requires:      perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
+BuildRequires: perl-ExtUtils-Embed
+%description perl
+The Perl plugin embeds a Perl interpreter into collectd and exposes the
+application programming interface (API) to Perl-scripts.
+
+%package pinba
+Summary:       Pinba plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: protobuf-c-devel
+%description pinba
+The Pinba plugin receives and dispatches timing values from Pinba, a profiling
+extension for PHP.
+
+%package ping
+Summary:       Ping plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: liboping-devel
+%description ping
+The Ping plugin measures network latency using ICMP “echo requests”, usually
+known as “ping”.
+
+%package postgresql
+Summary:       PostgreSQL plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: postgresql-devel
+%description postgresql
+The PostgreSQL plugin connects to and executes SQL statements on a PostgreSQL
+database.
+
+%package python
+Summary:       Python plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: python-devel
+%description python
+The Python plugin embeds a Python interpreter into collectd and exposes the
+application programming interface (API) to Python-scripts.
+
+%package rrdtool
+Summary:       RRDtool plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: rrdtool-devel
+%description rrdtool
+The RRDtool plugin writes values to RRD-files using librrd.
+
 %package sensors
-Summary:       libsensors-module for collectd.
+Summary:       Sensors plugin for collectd
 Group:         System Environment/Daemons
-Requires:      collectd = %{version}, lm_sensors
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: lm_sensors-devel
 %description sensors
 This plugin for collectd provides querying of sensors supported by lm_sensors.
 
 %package snmp
-Summary:       snmp-module for collectd.
+Summary:       SNMP plugin for collectd
 Group:         System Environment/Daemons
-Requires:      collectd = %{version}, net-snmp
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: net-snmp-devel
 %description snmp
 This plugin for collectd allows querying of network equipment using SNMP.
 
-%prep
-rm -rf $RPM_BUILD_ROOT
-%setup
-
-%build
-./configure CFLAGS=-"DLT_LAZY_OR_NOW='RTLD_LAZY|RTLD_GLOBAL'" --prefix=%{_prefix} --sbindir=%{_sbindir} --mandir=%{_mandir} --libdir=%{_libdir} --sysconfdir=%{_sysconfdir} --enable-apache --enable-email --enable-mysql --enable-dns
-make
+%package varnish
+Summary:       Varnish plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+BuildRequires: varnish-libs-devel
+%description varnish
+The Varnish plugin collects information about Varnish, an HTTP accelerator.
 
-%install
-make install DESTDIR=$RPM_BUILD_ROOT
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
-mkdir -p $RPM_BUILD_ROOT/var/www/cgi-bin
-cp contrib/redhat/init.d-collectd $RPM_BUILD_ROOT/etc/rc.d/init.d/collectd
-cp contrib/collection.cgi $RPM_BUILD_ROOT/var/www/cgi-bin
-mkdir -p $RPM_BUILD_ROOT/etc/collectd.d
-mkdir -p $RPM_BUILD_ROOT/var/lib/collectd
-### Clean up docs
-find contrib/ -type f -exec %{__chmod} a-x {} \;
-###Modify Config for Redhat Based Distros
-cp contrib/redhat/collectd.conf $RPM_BUILD_ROOT/etc/collectd.conf
-sed -i 's:#BaseDir     "/usr/var/lib/collectd":BaseDir     "/var/lib/collectd":' $RPM_BUILD_ROOT/etc/collectd.conf
-sed -i 's:#PIDFile     "/usr/var/run/collectd.pid":PIDFile     "/var/run/collectd.pid":' $RPM_BUILD_ROOT/etc/collectd.conf
-sed -i 's:#PluginDir   "/usr/lib/collectd":PluginDir   "/usr/lib/collectd":' $RPM_BUILD_ROOT/etc/collectd.conf
-sed -i 's:#TypesDB     "/usr/lib/collectd/types.db":TypesDB     "/usr/lib/collectd/types.db":' $RPM_BUILD_ROOT/etc/collectd.conf
-sed -i 's:#Interval     10:Interval     10:' $RPM_BUILD_ROOT/etc/collectd.conf
-sed -i 's:#ReadThreads  5:ReadThreads  5:' $RPM_BUILD_ROOT/etc/collectd.conf
-##Move config contribs
-cp contrib/redhat/apache.conf $RPM_BUILD_ROOT/etc/collectd.d/apache.conf
-cp contrib/redhat/email.conf $RPM_BUILD_ROOT/etc/collectd.d/email.conf
-cp contrib/redhat/sensors.conf $RPM_BUILD_ROOT/etc/collectd.d/sensors.conf
-cp contrib/redhat/mysql.conf $RPM_BUILD_ROOT/etc/collectd.d/mysql.conf
-cp contrib/redhat/nginx.conf $RPM_BUILD_ROOT/etc/collectd.d/nginx.conf
-cp contrib/redhat/snmp.conf $RPM_BUILD_ROOT/etc/collectd.d/snmp.conf
+%package write_http
+Summary:       Write-HTTP plugin for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+%description write_http
+The Write-HTTP plugin sends the values collected by collectd to a web-server
+using HTTP POST requests.
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%package contrib
+Summary:       Contrib files for collectd
+Group:         System Environment/Daemons
+Requires:      %{name}%{?_isa} = %{version}-%{release}
+%description contrib
+All the files found under contrib/ in the source tree are bundled in this
+package.
 
-%post
-/sbin/chkconfig --add collectd
-/sbin/chkconfig collectd on
+%package -n libcollectdclient
+Summary:       Collectd client library
+%description -n libcollectdclient
+Collectd client library
 
-%preun
-if [ "$1" = 0 ]; then
-   /sbin/chkconfig collectd off
-   /etc/init.d/collectd stop
-   /sbin/chkconfig --del collectd
-fi
-exit 0
+%package -n libcollectdclient-devel
+Summary:       Development files for libcollectdclient
+Requires:      pkgconfig
+Requires:      libcollectdclient%{?_isa} = %{version}-%{release}
+%description -n libcollectdclient-devel
+Development files for libcollectdclient
 
-%postun
-if [ "$1" -ge 1 ]; then
-    /etc/init.d/collectd restart
-fi
-exit 0
 
-%files
-%defattr(-,root,root)
-%doc AUTHORS COPYING ChangeLog INSTALL NEWS README contrib/
-%attr(0644,root,root) %config(noreplace) /etc/collectd.conf
-%attr(0755,root,root) /etc/rc.d/init.d/collectd
-%attr(0755,root,root) /var/www/cgi-bin/collection.cgi
-%attr(0755,root,root) %{_sbindir}/collectd
-%attr(0755,root,root) %{_bindir}/collectd-nagios
-%attr(0755,root,root) %{_sbindir}/collectdmon
-%attr(0644,root,root) %{_mandir}/man1/*
-%attr(0644,root,root) %{_mandir}/man5/*
-%dir /etc/collectd.d
+%prep
+%setup -q
 
-%attr(0644,root,root) %{_libdir}/%{name}/apcups.so*
-%attr(0644,root,root) %{_libdir}/%{name}/apcups.la
 
-#%attr(0644,root,root) %{_libdir}/%{name}/apple_sensors.so*
-#%attr(0644,root,root) %{_libdir}/%{name}/apple_sensors.la
+%build
+%configure CFLAGS="%{optflags} -DLT_LAZY_OR_NOW='RTLD_LAZY|RTLD_GLOBAL'" \
+       --disable-static \
+       --with-java=%{java_home}/ \
+       --with-perl-bindings="INSTALLDIRS=vendor"
 
-%attr(0644,root,root) %{_libdir}/%{name}/battery.so*
-%attr(0644,root,root) %{_libdir}/%{name}/battery.la
+%{__make} %{?_smp_mflags}
 
-%attr(0644,root,root) %{_libdir}/%{name}/cpufreq.so*
-%attr(0644,root,root) %{_libdir}/%{name}/cpufreq.la
 
-%attr(0644,root,root) %{_libdir}/%{name}/cpu.so*
-%attr(0644,root,root) %{_libdir}/%{name}/cpu.la
+%install
+rm -rf %{buildroot}
+%{__make} install DESTDIR=%{buildroot}
+%{__install} -Dp -m 0755 contrib/redhat/init.d-collectd %{buildroot}%{_initrddir}/collectd
+%{__install} -Dp -m0644 src/collectd.conf %{buildroot}%{_sysconfdir}/collectd.conf
+%{__install} -d %{buildroot}%{sharedstatedir}/collectd/
+%{__install} -d %{buildroot}%{_sysconfdir}/collectd.d/
 
-%attr(0644,root,root) %{_libdir}/%{name}/csv.so*
-%attr(0644,root,root) %{_libdir}/%{name}/csv.la
+### Clean up docs
+find contrib/ -type f -exec %{__chmod} a-x {} \;
+# *.la files shouldn't be distributed.
+rm -f %{buildroot}/%{_libdir}/{collectd/,}*.la
 
-%attr(0644,root,root) %{_libdir}/%{name}/df.so*
-%attr(0644,root,root) %{_libdir}/%{name}/df.la
+# Move the Perl examples to a separate directory.
+mkdir perl-examples
+find contrib -name '*.p[lm]' -exec mv {} perl-examples/ \;
 
-%attr(0644,root,root) %{_libdir}/%{name}/disk.so*
-%attr(0644,root,root) %{_libdir}/%{name}/disk.la
+# Remove Perl hidden .packlist files.
+find %{buildroot} -type f -name .packlist -delete
+# Remove Perl temporary file perllocal.pod
+find %{buildroot} -type f -name perllocal.pod -delete
 
-%attr(0644,root,root) %{_libdir}/%{name}/dns.so*
-%attr(0644,root,root) %{_libdir}/%{name}/dns.la
 
-%attr(0644,root,root) %{_libdir}/%{name}/entropy.so*
-%attr(0644,root,root) %{_libdir}/%{name}/entropy.la
+%clean
+rm -rf %{buildroot}
 
-%attr(0644,root,root) %{_libdir}/%{name}/exec.so*
-%attr(0644,root,root) %{_libdir}/%{name}/exec.la
+%post
+/sbin/chkconfig --add collectd
 
-%attr(0644,root,root) %{_libdir}/%{name}/hddtemp.so*
-%attr(0644,root,root) %{_libdir}/%{name}/hddtemp.la
+%preun
+if [ $1 -eq 0 ]; then
+       /sbin/service collectd stop &>/dev/null
+       /sbin/chkconfig --del collectd
+fi
 
-%attr(0644,root,root) %{_libdir}/%{name}/interface.so*
-%attr(0644,root,root) %{_libdir}/%{name}/interface.la
+%postun
+if [ $1 -ge 1 ]; then
+       /sbin/service collectd condrestart &>/dev/null || :
+fi
 
-#%attr(0644,root,root) %{_libdir}/%{name}/iptables.so*
-#%attr(0644,root,root) %{_libdir}/%{name}/iptables.la
+%post -n libcollectdclient -p /sbin/ldconfig
+%postun -n libcollectdclient -p /sbin/ldconfig
 
-%attr(0644,root,root) %{_libdir}/%{name}/irq.so*
-%attr(0644,root,root) %{_libdir}/%{name}/irq.la
 
-%attr(0644,root,root) %{_libdir}/%{name}/load.so*
-%attr(0644,root,root) %{_libdir}/%{name}/load.la
+%files
+%doc AUTHORS COPYING ChangeLog README
+%config(noreplace) %{_sysconfdir}/collectd.conf
+%{_initrddir}/collectd
+%{_sbindir}/collectd
+%{_bindir}/collectd-nagios
+%{_bindir}/collectdctl
+%{_sbindir}/collectdmon
+%{_datadir}/collectd/
+%{_sharedstatedir}/collectd
+%{_mandir}/man1/collectd-nagios.1.gz
+%{_mandir}/man1/collectd.1.gz
+%{_mandir}/man1/collectdctl.1.gz
+%{_mandir}/man1/collectdmon.1.gz
+%{_mandir}/man5/collectd-email.5.gz
+%{_mandir}/man5/collectd-exec.5.gz
+%{_mandir}/man5/collectd-threshold.5.gz
+%{_mandir}/man5/collectd-unixsock.5.gz
+%{_mandir}/man5/collectd.conf.5.gz
+%{_mandir}/man5/types.db.5.gz
+
+# all plugins bundled with the main collectd package
+%{_libdir}/%{name}/apcups.so
+%{_libdir}/%{name}/battery.so
+%{_libdir}/%{name}/conntrack.so
+%{_libdir}/%{name}/contextswitch.so
+%{_libdir}/%{name}/cpufreq.so
+%{_libdir}/%{name}/cpu.so
+%{_libdir}/%{name}/csv.so
+%{_libdir}/%{name}/df.so
+%{_libdir}/%{name}/disk.so
+%{_libdir}/%{name}/ethstat.so
+%{_libdir}/%{name}/entropy.so
+%{_libdir}/%{name}/email.so
+%{_libdir}/%{name}/exec.so
+%{_libdir}/%{name}/filecount.so
+%{_libdir}/%{name}/fscache.so
+%{_libdir}/%{name}/interface.so
+%{_libdir}/%{name}/iptables.so
+%{_libdir}/%{name}/ipvs.so
+%{_libdir}/%{name}/irq.so
+%{_libdir}/%{name}/load.so
+%{_libdir}/%{name}/logfile.so
+%{_libdir}/%{name}/madwifi.so
+%{_libdir}/%{name}/match_empty_counter.so
+%{_libdir}/%{name}/match_hashed.so
+%{_libdir}/%{name}/match_regex.so
+%{_libdir}/%{name}/match_timediff.so
+%{_libdir}/%{name}/match_value.so
+%{_libdir}/%{name}/mbmon.so
+%{_libdir}/%{name}/md.so
+%{_libdir}/%{name}/memcached.so
+%{_libdir}/%{name}/memory.so
+%{_libdir}/%{name}/multimeter.so
+%{_libdir}/%{name}/network.so
+%{_libdir}/%{name}/nfs.so
+%{_libdir}/%{name}/ntpd.so
+%{_libdir}/%{name}/numa.so
+%{_libdir}/%{name}/openvpn.so
+%{_libdir}/%{name}/olsrd.so
+%{_libdir}/%{name}/powerdns.so
+%{_libdir}/%{name}/processes.so
+%{_libdir}/%{name}/protocols.so
+%{_libdir}/%{name}/serial.so
+%{_libdir}/%{name}/swap.so
+%{_libdir}/%{name}/syslog.so
+%{_libdir}/%{name}/table.so
+%{_libdir}/%{name}/tail.so
+%{_libdir}/%{name}/target_notification.so
+%{_libdir}/%{name}/target_replace.so
+%{_libdir}/%{name}/target_scale.so
+%{_libdir}/%{name}/target_set.so
+%{_libdir}/%{name}/target_v5upgrade.so
+%{_libdir}/%{name}/tcpconns.so
+%{_libdir}/%{name}/teamspeak2.so
+%{_libdir}/%{name}/ted.so
+%{_libdir}/%{name}/thermal.so
+%{_libdir}/%{name}/threshold.so
+%{_libdir}/%{name}/unixsock.so
+%{_libdir}/%{name}/uptime.so
+%{_libdir}/%{name}/users.so
+%{_libdir}/%{name}/uuid.so
+%{_libdir}/%{name}/vmem.so
+%{_libdir}/%{name}/vserver.so
+%{_libdir}/%{name}/wireless.so
+%{_libdir}/%{name}/write_graphite.so
+
+# All plugins not built because of dependencies on libraries not available in
+# RHEL or EPEL:
+# plugin modbus disabled, requires libmodbus
+# plugin netlink disabled, requires libnetlink.h
+# plugin numa disabled, requires libnetapp
+# plugin onewire disabled, requires libowfs
+# plugin oracle disabled, requires Oracle
+# plugin redis disabled, requires credis
+# plugin routeros disabled, requires librouteros
+# plugin rrdcached disabled, requires rrdtool >= 1.4
+# plugin tokyotyrant disabled, requires tcrdb.h
+# plugin write_mongodb disabled, requires libmongoc
+# plugin write_redis disabled, requires credis
+# plugin xmms disabled, requires xmms
+
+
+%files -n libcollectdclient-devel
+%{_includedir}/collectd/client.h
+%{_includedir}/collectd/lcc_features.h
+%{_libdir}/libcollectdclient.so
+%{_libdir}/pkgconfig/libcollectdclient.pc
+
+%files -n libcollectdclient
+%{_libdir}/libcollectdclient.so.*
+
+
+%files amqp
+%{_libdir}/%{name}/amqp.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/logfile.so*
-%attr(0644,root,root) %{_libdir}/%{name}/logfile.la
+%files apache
+%{_libdir}/%{name}/apache.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/mbmon.so
-%attr(0644,root,root) %{_libdir}/%{name}/mbmon.la
+%files ascent
+%{_libdir}/%{name}/ascent.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/memcached.so*
-%attr(0644,root,root) %{_libdir}/%{name}/memcached.la
+%files bind
+%{_libdir}/%{name}/bind.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/memory.so*
-%attr(0644,root,root) %{_libdir}/%{name}/memory.la
+%files curl
+%{_libdir}/%{name}/curl.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/multimeter.so*
-%attr(0644,root,root) %{_libdir}/%{name}/multimeter.la
+%files curl_json
+%{_libdir}/%{name}/curl_json.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/network.so*
-%attr(0644,root,root) %{_libdir}/%{name}/network.la
+%files curl_xml
+%{_libdir}/%{name}/curl_xml.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/nfs.so*
-%attr(0644,root,root) %{_libdir}/%{name}/nfs.la
+%files dns
+%{_libdir}/%{name}/dns.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/ntpd.so*
-%attr(0644,root,root) %{_libdir}/%{name}/ntpd.la
+%files dbi
+%{_libdir}/%{name}/dbi.so
 
-#%attr(0644,root,root) %{_libdir}/%{name}/nut.so*
-#%attr(0644,root,root) %{_libdir}/%{name}/nut.la
+%files email
+%{_libdir}/%{name}/email.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/perl.so*
-%attr(0644,root,root) %{_libdir}/%{name}/perl.la
+%files gmond
+%{_libdir}/%{name}/gmond.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/ping.so*
-%attr(0644,root,root) %{_libdir}/%{name}/ping.la
+%files hddtemp
+%{_libdir}/%{name}/hddtemp.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/processes.so*
-%attr(0644,root,root) %{_libdir}/%{name}/processes.la
+%files ipmi
+%{_libdir}/%{name}/ipmi.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/rrdtool.so*
-%attr(0644,root,root) %{_libdir}/%{name}/rrdtool.la
+%files iptables
+%{_libdir}/%{name}/iptables.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/serial.so*
-%attr(0644,root,root) %{_libdir}/%{name}/serial.la
+%files java
+%{_mandir}/man5/collectd-java.5.gz
+%{_datarootdir}/collectd/java/collectd-api.jar
+%{_datarootdir}/collectd/java/generic-jmx.jar
+%{_libdir}/%{name}/java.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/swap.so*
-%attr(0644,root,root) %{_libdir}/%{name}/swap.la
+%files libvirt
+%{_libdir}/%{name}/libvirt.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/syslog.so*
-%attr(0644,root,root) %{_libdir}/%{name}/syslog.la
+%files memcachec
+%{_libdir}/%{name}/memcachec.so
 
-#%attr(0644,root,root) %{_libdir}/%{name}/tape.so*
-#%attr(0644,root,root) %{_libdir}/%{name}/tape.la
+%files mysql
+%{_libdir}/%{name}/mysql.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/tcpconns.so*
-%attr(0644,root,root) %{_libdir}/%{name}/tcpconns.la
+%files nginx
+%{_libdir}/%{name}/nginx.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/unixsock.so*
-%attr(0644,root,root) %{_libdir}/%{name}/unixsock.la
+%files notify_desktop
+%{_libdir}/%{name}/notify_desktop.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/users.so*
-%attr(0644,root,root) %{_libdir}/%{name}/users.la
+%files notify_email
+%{_libdir}/%{name}/notify_email.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/uuid.so*
-%attr(0644,root,root) %{_libdir}/%{name}/uuid.la
+%files nut
+%{_libdir}/%{name}/nut.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/vserver.so*
-%attr(0644,root,root) %{_libdir}/%{name}/vserver.la
+%files perl
+%doc perl-examples/*
+%{perl_vendorlib}/Collectd.pm
+%{perl_vendorlib}/Collectd/
+%{_mandir}/man3/Collectd::Unixsock.3pm.gz
+%{_mandir}/man5/collectd-perl.5.gz
+%{_libdir}/%{name}/perl.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/wireless.so*
-%attr(0644,root,root) %{_libdir}/%{name}/wireless.la
+%files pinba
+%{_libdir}/%{name}/pinba.so
 
-%attr(0644,root,root) %{_libdir}/%{name}/types.db
+%files ping
+%{_libdir}/%{name}/ping.so
 
-%exclude %{_libdir}/perl5/5.8.8/%{_arch}-linux-thread-multi/perllocal.pod
-%attr(0644,root,root) %{_libdir}/perl5/site_perl/5.8.8/Collectd.pm
-%attr(0644,root,root) %{_libdir}/perl5/site_perl/5.8.8/Collectd/Unixsock.pm
-%attr(0644,root,root) %{_libdir}/perl5/site_perl/5.8.8/%{_arch}-linux-thread-multi/auto/Collectd/.packlist
-%attr(0644,root,root) /usr/share/man/man3/Collectd::Unixsock.3pm.gz
+%files postgresql
+%{_datarootdir}/collectd/postgresql_default.conf
+%{_libdir}/%{name}/postgresql.so
 
-%dir /var/lib/collectd
+%files python
+%{_mandir}/man5/collectd-python.5.gz
+%{_libdir}/%{name}/python.so
 
-%files apache
-%attr(0644,root,root) %{_libdir}/%{name}/apache.so*
-%attr(0644,root,root) %{_libdir}/%{name}/apache.la
-%attr(0644,root,root) /etc/collectd.d/apache.conf
+%files rrdtool
+%{_libdir}/%{name}/rrdtool.so
 
-%files email
-%attr(0644,root,root) %{_libdir}/%{name}/email.so*
-%attr(0644,root,root) %{_libdir}/%{name}/email.la
-%attr(0644,root,root) /etc/collectd.d/email.conf
+%files sensors
+%{_libdir}/%{name}/sensors.so
 
-%files mysql
-%attr(0644,root,root) %{_libdir}/%{name}/mysql.so*
-%attr(0644,root,root) %{_libdir}/%{name}/mysql.la
-%attr(0644,root,root) /etc/collectd.d/mysql.conf
+%files snmp
+%{_mandir}/man5/collectd-snmp.5.gz
+%{_libdir}/%{name}/snmp.so
 
-%files nginx
-%attr(0644,root,root) %{_libdir}/%{name}/nginx.so*
-%attr(0644,root,root) %{_libdir}/%{name}/nginx.la
-%attr(0644,root,root) /etc/collectd.d/nginx.conf
+%files varnish
+%{_libdir}/%{name}/varnish.so
 
-%files sensors
-%attr(0644,root,root) %{_libdir}/%{name}/sensors.so*
-%attr(0644,root,root) %{_libdir}/%{name}/sensors.la
-%attr(0644,root,root) /etc/collectd.d/sensors.conf
+%files write_http
+%{_libdir}/%{name}/write_http.so
 
-%files snmp
-%attr(0644,root,root) %{_libdir}/%{name}/snmp.so*
-%attr(0644,root,root) %{_libdir}/%{name}/snmp.la
-%attr(0644,root,root) /etc/collectd.d/snmp.conf
+%files contrib
+%doc contrib/
 
 %changelog
+* Sun Nov 18 2012 Ruben Kerkhof <ruben@tilaa.nl> 5.1.0-3
+- Follow Fedora Packaging Guidelines in java subpackage
+
+* Sat Nov 17 2012 Ruben Kerkhof <ruben@tilaa.nl> 5.1.0-2
+- Move perl stuff to perl_vendorlib
+- Replace hardcoded paths with macros
+- Remove unneccesary Requires
+- Removed .a and .la files
+- Some other small cleanups
+
+* Fri Nov 16 2012 Marc Fournier <marc.fournier@camptocamp.com> 5.1.0-1
+- New upstream version
+- Changes to support 5.1.0
+- Enabled all buildable plugins based on libraries available on EL6 + EPEL
+- All plugins requiring external libraries are now shipped in seperate
+  packages.
+- No longer treat Java plugin as an exception, correctly set $JAVA_HOME during
+  the build process + ensure build deps are installed.
+- Dropped per-plugin configuration files, as they tend to diverge from upstream
+  defaults.
+- Moved perl stuff to /usr/share/perl5/
+- Don't alter Interval and ReadThreads by default, let the user change this
+  himself.
+- Initscript improvements:
+  * checks configuration before (re)starting, based on debian's initscript
+  * use /etc/sysconfig instdead of /etc/default
+  * include optional $ARGS in arguments passed to collectd.
+- Drop collection.cgi from main package, as it's been obsoleted by collection3
+- Moved contrib/ to its own package, to avoid cluttering the main package with
+  non-essential stuff.
+- Replaced BuildPrereq by BuildRequires
+
+* Tue Jan 03 2011 Monetate <jason.stelzer@monetate.com> 5.0.1
+- New upstream version
+- Changes to support 5.0.1
+
+* Tue Jan 04 2010 Rackspace <stu.hood@rackspace.com> 4.9.0
+- New upstream version
+- Changes to support 4.9.0
+- Added support for Java/GenericJMX plugin
+
 * Mon Mar 17 2008 RightScale <support@rightscale.com> 4.3.1
 - New upstream version
 - Changes to support 4.3.1
@@ -299,12 +654,12 @@ exit 0
 
 * Wed Jul 25 2007 Kjell Randa <Kjell.Randa@broadpark.no> 4.0.5
 - New major releas
-- Changes to support 4.0.5 
+- Changes to support 4.0.5
 
 * Wed Jan 11 2007 Iain Lea <iain@bricbrac.de> 3.11.0-0
 - fixed spec file to build correctly on fedora core
 - added improved init.d script to work with chkconfig
-- added %post and %postun to call chkconfig automatically
+- added %%post and %%postun to call chkconfig automatically
 
 * Sun Jul 09 2006 Florian octo Forster <octo@verplant.org> 3.10.0-1
 - New upstream version