# # spec file for package collectd # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2005-2013 Pascal Bleser # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %bcond_with modbus %define madwifi_plugin madwifi %define pcap_version %({rpm -q --qf='%{VERSION}\n' libpcap-devel 2>/dev/null || echo 0.0.0} | gawk -F. '{print $1*10000+$2*100+$3}') %define snmp 1 %define with_esmtp 1 %define ipvs_plugin ipvs %define plugins apache apcups battery %{expand:%{bind_plugin}} cgroups curl %{expand:%{curl_json_plugin}} %{expand:%{curl_xml_plugin}} conntrack contextswitch cpu cpufreq csv df disk %{expand:%{dns_plugin}} email entropy exec filecount fscache hddtemp interface %{expand:%{ipvs_plugin}} irq load logfile match_empty_counter match_hashed match_regex match_timediff match_value mbmon %{expand:%{memcached_plugin}} memory multimeter netlink network nfs nginx ntpd olsrd openvpn perl ping protocols powerdns processes rrdtool %{expand:%{sensors_plugin}} serial statsd swap syslog table tail target_notification target_replace target_scale target_set target_v5upgrade tcpconns teamspeak2 ted thermal threshold unixsock uptime users uuid vmem vserver wireless write_http %{expand:%{ascent_plugin}} %{expand:%{iptables_plugin}} %{expand:%{madwifi_plugin}} %{expand:%{rrdcached_plugin}} aggregation ethstat md numa tail_csv write_graphite write_riemann ceph drbd fhcount ipc log_logstash %{expand:%{turbostat_plugin}} write_log write_log write_sensu write_tsdb zfs_arc zookeeper %ifnarch s390 s390x %define sensors 1 %define sensors_plugin sensors %else %define sensors 0 %define sensors_plugin %{nil} %endif %ifarch %ix86 x86_64 %define turbostat_plugin turbostat %else %define turbostat_plugin %{nil} %endif %if 0%{?_with_xmms:1}0 %define xmms 1 %else %define xmms 0 %endif %if 0%{?_with_java:1} || 0%{?suse_version} > 1030 && ! 0%{?_without_java:1} && ! 0%{?sles_version} %define java 1 %else %define java 0 %endif %if 0%{?_with_virt:1} || 0%{?suse_version} > 1030 %define virt 1 %else %define virt 0 %endif %if ! 0%{?_without_dbi:1} %define dbi 1 %else %define dbi 0 %endif %if 0%{?suse_version} >= 1100 && ! 0%{?_without_memcachec:1} %define memcachec 1 %define memcached_plugin memcached %else %define memcachec 0 %define memcached_plugin %{nil} %endif %if 0%{?suse_version} < 1000 %define libnotify 0 %else %define libnotify 1 %endif %if 0%{?suse_version} > 1020 %define ipmi 1 %define ascent 1 %define ascent_plugin ascent %define iptables 1 %define iptables_plugin iptables %else %define ipmi 0 %define ascent 0 %define ascent_plugin %{nil} %define iptables 0 %define iptables_plugin %{nil} %endif %if 0%{?suse_version} >= 1130 %define rrdcached_plugin rrdcached %else %define rrdcached_plugin %{nil} %endif %if %{pcap_version} >= 10000 %define dns 1 %define dns_plugin dns %else %define dns 0 %define dns_plugin %{nil} %endif %if 0%{?suse_version} >= 1000 %define yajl 1 %define curl_json_plugin curl_json %define curl_xml_plugin curl_xml %define with_snmp_plugin 1 %define with_pgsql 1 %define with_mysql 1 %define with_bind 1 %define bind_plugin bind %define protobuf 1 %define pinba_plugin pinba %else %define yajl 0 %define curl_json_plugin %{nil} %define curl_xml_plugin %{nil} %define with_snmp_plugin 0 %define with_pgsql 0 %define with_mysql 0 %define with_bind 0 %define bind_plugin %{nil} %define protobuf 0 %define pinba_plugin %{nil} %endif %if 0%{?suse_version} >= 1210 %define has_systemd 1 BuildRequires: systemd %{perl_requires} %{?libperl_requires} %{?systemd_requires} %else # FIXME: use proper Requires(pre/post/preun/...) PreReq: %insserv_prereq %endif Name: collectd Version: 5.5.0 Release: 0 Summary: Statistics Collection Daemon for filling RRD Files License: GPL-2.0 Group: System/Monitoring Url: http://collectd.org/ Source: http://collectd.org/files/collectd-%{version}.tar.bz2 Source1: collectd.suse.init Source2: collectd.apache2.conf Source3: collectd-js.apache2.conf # workaround for missing pthread.pc on openSUSE, required by OpenIPMIpthread.pc # see https://bugzilla.novell.com/show_bug.cgi?id=388026 Source20: collectd-pthread.pc Source99: collectd-rpmlintrc Patch7: collectd-fix-config.patch Patch9: collectd-version.patch Patch10: collectd-perl-vendor.patch # see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=467072 Patch11: collectd-fix_broken_perl-5.10.patch Patch18: collectd-fix_collection_cgi.patch Patch19: collectd-fix_spamassassin_doc.patch Patch20: collectd-split_README.patch Patch21: collectd-fix_collectd_config_path_in_snmp_probe.patch Patch23: collectd-javac_target.patch Patch25: collectd-df-remove-duplicates.patch # for /etc/apache2/... ownership (rpmlint): BuildRequires: apache2 BuildRequires: autoconf BuildRequires: automake BuildRequires: bind-devel BuildRequires: bison BuildRequires: flex BuildRequires: freetype2-devel BuildRequires: gcc BuildRequires: gettext BuildRequires: gettext-devel BuildRequires: intltool # for ipvs and madwifi: BuildRequires: kernel-source BuildRequires: libart_lgpl-devel BuildRequires: libevent-devel BuildRequires: libmnl-devel BuildRequires: libnetlink-devel BuildRequires: liboping-devel BuildRequires: libpcap BuildRequires: libpng-devel BuildRequires: libstatgrab-devel BuildRequires: libtool BuildRequires: libxml2-devel BuildRequires: linux-kernel-headers BuildRequires: make BuildRequires: perl BuildRequires: pkgconfig BuildRequires: python-devel BuildRequires: rrdtool BuildRequires: xfsprogs-devel BuildRequires: zlib-devel Requires: rrdtool %if %{sensors} BuildRequires: sensors Requires: sensors %endif # FIXME: use proper Requires(pre/post/preun/...) PreReq: %fillup_prereq # in case we'd like to split it later: Provides: collectd-perl = %{version}-%{release} # play nice with collectd-beta: Obsoletes: collectd-beta < %{version} Provides: collectd-beta = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-build # Should not be used - since Mon Apr 23 10:56:57 UTC 2012 # except for 11.4 %if 0%{?suse_version} <= 1140 && !0%{?sles_version} Patch24: collectd-pkgconfig_libnotify_add_gtk.patch %endif %if 0%{?suse_version} > 1020 BuildRequires: libdb-4_5-devel %else BuildRequires: db-devel %endif %if 0%{?suse_version} > 910 BuildRequires: libgcrypt-devel %else BuildRequires: libgcrypt %endif %if %{libnotify} BuildRequires: gtk2-devel BuildRequires: libnotify-devel %endif %if %java BuildRequires: java-devel %endif #java %if %{with_esmtp} BuildRequires: libesmtp-devel %endif %if %{with_mysql} BuildRequires: mysql-devel >= 4.1.0 %endif %if %{with_pgsql} BuildRequires: postgresql-devel %endif %if %{yajl} BuildRequires: libyajl-devel %endif %if 0%{?suse_version} >= 1030 BuildRequires: rrdtool-devel %endif %if 0%{?suse_version} >= 1030 BuildRequires: libcurl-devel %else BuildRequires: curl-devel %endif %if %{ipmi} # for ipmi: BuildRequires: OpenIPMI-devel BuildRequires: gdbm-devel %endif #ipmi %if %{snmp} # for snmp: BuildRequires: net-snmp-devel %endif #snmp %if 0%{?suse_version} >= 1030 BuildRequires: libpcap-devel %endif %if %{xmms} # for xmms: BuildRequires: xmms-devel %endif %if %{virt} # for libvirt: BuildRequires: libvirt-devel %endif %if %{dbi} BuildRequires: libdbi-devel %endif %if %{memcachec} BuildRequires: libmemcached-devel %endif %if %{with modbus} BuildRequires: libmodbus-devel %endif %if %{protobuf} BuildRequires: protobuf-c %endif %if 0%{?suse_version} < 1220 %if 0%{?suse_version} > 1020 BuildRequires: iptables-devel %endif %else BuildRequires: libiptc-devel BuildRequires: libxtables-devel %endif %description collectd is a small daemon written in C for performance. It reads various system statistics and updates RRD files, creating them if necessary. Since the daemon doesn't need to startup every time it wants to update the files 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 web Summary: Web Frontend for watching the %{name} Statistics Group: System/Monitoring Requires: apache2 Requires: perl Requires: rrdtool Requires: perl(CGI) Requires: perl(Data::Dumper) Requires: perl(HTML::Entities) Requires: perl(URI::Escape) %description web Web frontend CGI for watching %{name} statistics from a browser. Please look at %{_sysconfdir}/apache2/conf.d/%{name}.conf on how to enable. %package web-js Summary: Web/JavaScript Frontend for watching %{name} Statistics Group: System/Monitoring Requires: apache2 Requires: perl Requires: rrdtool Requires: perl(CGI) Requires: perl(Config::General) Requires: perl(Data::Dumper) Requires: perl(HTML::Entities) Requires: perl(JSON) Requires: perl(RRDs) %description web-js Web/JavaScript frontend CGI for watching %{name} statistics from a browser. Please look at %{_sysconfdir}/apache2/conf.d/%{name}-js.conf on how to enable. %if %{libnotify} %package plugin-notify-desktop Summary: Desktop Notification Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-notify-desktop Desktop Notification Support for %{name} allow you to receive message delivered on your desktop. %endif #libnotify %if %{ipmi} %package plugin-ipmi Summary: OpenIPMI Monitoring Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-ipmi Optional %{name} plugin to monitor sensors using the OpenIPMI library, for IPMI enabled systems. %endif #ipmi %if %{snmp} %package plugin-snmp Summary: SNMP Monitoring Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} Requires: perl(Config::General) Requires: perl(SNMP) Requires: perl(Socket6) %description plugin-snmp Optional %{name} plugin to monitor devices using SNMP. %endif #snmp %if %{with_mysql} %package plugin-mysql Summary: MySQL Monitoring Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-mysql Optional %{name} plugin to monitor MySQL server instances. %endif #with_mysql %if %{with_pgsql} %package plugin-postgresql Summary: PostgreSQL Monitoring Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-postgresql Optional %{name} plugin to monitor PostgreSQL server instances. %endif #with_pgsql %package plugin-python Summary: Python API for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-python Optional %{name} Python API in order to write %{name} plugins in Python. %if %java %package plugin-java Summary: Java API for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-java Optional %{name} Java API in order to write %{name} plugins in Java. %endif #java %if %{virt} %package plugin-virt Summary: Virtual Machine Statistics Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-virt Optional %{name} plugin to gather statistics from virtual machines using libvirt. %endif %if %{xmms} %package plugin-xmms Summary: XMMS Monitoring Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-xmms Optional %{name} plugin to gather sampling frequencies and file bitrates of files played with XMMS. %endif #xmms %if %{dbi} %package plugin-dbi Summary: DBI Storage Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-dbi Optional %{name} plugin to store sampling results into various databases as supported by libdbi. %endif #dbi %if %{memcachec} %package plugin-memcachec Summary: Memcache Daemon Monitoring Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-memcachec Optional %{name} plugin to sample memcached statistics. %endif #memcachec %if %{with modbus} %package plugin-modbus Summary: ModBus Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-modbus Optional %{name} plugin to collect data using ModBus protocol. %endif #modbus %if %{protobuf} %package plugin-pinba Summary: Pinba Collector Plugin for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} %description plugin-pinba Optional %{name} plugin to receive and dispatch timing values from Pinba, a profiling extension for PHP. %endif #protobuf %package plugins-all Summary: All Monitoring Plugins for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} Requires: %{name}-plugin-python = %{version}-%{release} Requires: %{name}-web = %{version}-%{release} Requires: %{name}-web-js = %{version}-%{release} %if %{ipmi} Requires: %{name}-plugin-ipmi = %{version}-%{release} %endif #ipmi %if %{snmp} Requires: %{name}-plugin-snmp = %{version}-%{release} %endif #snmp %if %{with_mysql} Requires: %{name}-plugin-mysql = %{version}-%{release} %endif #with_mysql %if %{with_pgsql} Requires: %{name}-plugin-postgresql = %{version}-%{release} %endif %if %java Requires: %{name}-plugin-java = %{version}-%{release} %endif #java %if %{virt} Requires: %{name}-plugin-virt = %{version}-%{release} %endif #virt %if %{libnotify} Requires: %{name}-plugin-notify-desktop = %{version}-%{release} %endif #libnotify %if %{dbi} Requires: %{name}-plugin-dbi = %{version}-%{release} %endif #dbi %if %{memcachec} Requires: %{name}-plugin-memcachec = %{version}-%{release} %endif #memcachec %if %{with modbus} Requires: %{name}-plugin-modbus = %{version}-%{release} %endif #modbus %if %{protobuf} Requires: %{name}-plugin-pinba = %{version}-%{release} %endif #protobuf %description plugins-all Metapackage that installs %{name} and all the available monitoring plugin subpackages, except %{name}-plugin-xmms %package spamassassin Summary: Spamassassin Monitoring for %{name} Group: System/Monitoring Requires: %{name} = %{version}-%{release} Requires: perl-spamassassin %description spamassassin Plugin for filling %{name} with statistics from the SpamAsssassin anti-spam engine. %package -n libcollectdclient1 Summary: Library for %{name} clients Group: System/Monitoring Provides: libcollectdclient = %{version}-%{release} %description -n libcollectdclient1 Library which abstracts communication with the %{name} unixsock plugin for clients. %package -n libcollectdclient-devel Summary: Development Environment for %{name} clients Group: Development/Libraries/C and C++ Requires: libcollectdclient1 = %{version}-%{release} %description -n libcollectdclient-devel Library which abstracts communication with the %{name} unixsock plugin for clients. This package contains the required development environment to write %{name} unixsock clients. %prep %setup -q -n "collectd-%{version}" %patch7 %patch9 -p1 %patch10 %patch11 %patch18 %patch19 %patch20 %patch21 %patch23 -p1 %if 0%{?suse_version} <= 1140 && !0%{?sles_version} %patch24 -p1 %endif %patch25 sed -i 's|@@VERSION@@|%{version}|g' configure.ac # workaround for missing pthread.pc on openSUSE, required by OpenIPMIpthread.pc install -D -m0644 "%{SOURCE20}" pkgconfig/pthread.pc sed 's|@@LIB@@|%{_lib}|g' pkgconfig/pthread.pc perl -p -i -e 's|(-L\$withval/lib)\b|${1}64|g' configure.ac configure # unneeded files: rm -fr \ contrib/fedora \ contrib/solaris-smf \ contrib/redhat \ contrib/sles* # remove -Werror everywhere find . -name 'configure*' -o -name 'Makefile*' -exec sed -i 's|-Werror||g' {} \; %build export SUSE_ASNEEDED=0 autoreconf -fiv # set JAVA_HOME properly [ -n "$JAVA_HOME" -a -d "$JAVA_HOME" ] || export JAVA_HOME="%{_libdir}/jvm/java" [ -n "$JDK_HOME" -a -d "$JDK_HOME" ] || export JDK_HOME="$JAVA_HOME" [ -n "$JRE_HOME" -a -d "$JRE_HOME" ] || export JRE_HOME="$JAVA_HOME" export PATH="$JDK_HOME/bin:$JRE_HOME/bin:$JAVA_HOME/bin:$PATH" export CFLAGS="%{optflags} -fno-strict-aliasing" export CXXFLAGS="$CFLAGS" # workaround for missing pthread.pc on openSUSE, required by OpenIPMIpthread.pc export PKG_CONFIG_PATH="$PWD/pkgconfig:$PKG_CONFIG_PATH" export KERNEL_DIR=%{_prefix}/src/linux %configure \ --with-libstatgrab \ --with-rrdtool \ --disable-static \ %if %{dns} --enable-dns \ %else --disable-dns \ %endif --disable-nut \ --enable-netlink \ --enable-python \ --with-librrd \ %if %{iptables} --enable-iptables \ %else --disable-iptables \ --without-iptc \ %endif #iptables %if %{ascent} --enable-ascent \ %else --disable-ascent \ %endif #ascent %if %{ipmi} --enable-ipmi \ %else --disable-ipmi \ %endif #ipmi %if %java --enable-java \ --with-java="$JAVA_HOME/" \ %else --disable-java \ %endif #java %if %{dbi} --enable-dbi \ %else --disable-dbi \ %endif #dbi %if %{memcachec} --enable-memcached \ %else --disable-memcached \ %endif #memcachec %if %{with modbus} --enable-modbus \ %else --disable-modbus \ %endif #modbus %if 0%{?suse_version} < 930 --disable-mysql \ %endif %ifos linux --enable-serial %else --disable-serial %endif #os linux make %{?_smp_flags} \ %if 0%{?suse_version} < 1120 JAVAC_TARGET="-source 1.5 -target 1.5" %else JAVAC_TARGET="-source 1.5 -target 1.6" %endif %install make DESTDIR=%{buildroot} install %{?_smp_mflags} # delete .la files rm -f "%{buildroot}%{_libdir}"/*.{a,la} rm -f "%{buildroot}%{_libdir}/collectd"/*.a sed -i '/^dependency_libs=/ s|-L'"${RPM_BUILD_DIR}/%{name}-%{version}"'/src||g' "%{buildroot}%{_libdir}/collectd/python.la" # delete if it exists (not packaged any more on openSUSE): rm -rf "%{buildroot}%{_localstatedir}/adm/perl-modules/%{name}" %if !%java rm -f "%{buildroot}%{_mandir}/man5"/collectd-java.5* rm -rf "%{buildroot}%{_datadir}/collectd/java" %endif #!java mkdir -p _rpmdoc_/java mv contrib/GenericJMX.conf _rpmdoc_/java/ # fix permissions: chmod 0755 "%{buildroot}%{_libdir}/collectd"/*.so chmod 0644 "%{buildroot}%{_libdir}/collectd"/*.la # create /var/lib/collectd to add it to the %files section: install -d -m 0755 "%{buildroot}%{_localstatedir}/lib/collectd" # Apache2 configuration for the CGI frontend: install -D -m 0644 "%{SOURCE2}" "%{buildroot}%{_sysconfdir}/apache2/conf.d/%{name}.conf" install -D -m 0755 contrib/collection.cgi "%{buildroot}/srv/www/collectd/collection.cgi" install -D -m 0644 contrib/collection.conf "%{buildroot}%{_sysconfdir}/collectd/collection.conf" sed -i 's|@@LIBDIR@@|%{_libdir}|g' "%{buildroot}%{_sysconfdir}/collectd/collection.conf" # remove it from contrib, to avoid having it end up in the main package as well: rm contrib/collection.cgi contrib/collection.conf %perl_process_packlist rm -rf "%{buildroot}%{_localstatedir}/adm/perl-modules"/* # web-js CGI frontend (_must_ be installed _after_ perl_process_packlist) install -d "%{buildroot}/srv/www/collectd-js" mkdir -p _rpmdoc_/web-js mv contrib/collection3/README _rpmdoc_/web-js/README find contrib/collection3/ -name .htaccess -exec rm {} \; cp -a \ contrib/collection3/bin/* \ contrib/collection3/share/* \ "%{buildroot}/srv/www/collectd-js/" mkdir -p "%{buildroot}%{_libexecdir}/collectd-js" mv contrib/collection3/lib/* "%{buildroot}%{_libexecdir}/collectd-js/" install -D -m 0644 contrib/collection3%{_sysconfdir}/collection.conf \ "%{buildroot}%{_sysconfdir}/collectd/collection-js.conf" rm -fr contrib/collection3/etc install -D -m 0644 "%{SOURCE3}" "%{buildroot}%{_sysconfdir}/apache2/conf.d/%{name}-js.conf" # spamassassin (_must_ be installed _after_ perl_process_packlist) install -D -m0644 contrib/SpamAssassin/example.cf \ "%{buildroot}%{_datadir}/spamassassin/99_%{name}.cf" install -D -m0644 contrib/SpamAssassin/Collectd.pm \ "%{buildroot}%{perl_vendorlib}/Mail/SpamAssassin/Plugin/Collectd.pm" pod2man \ contrib/SpamAssassin/Collectd.pm \ > "%{buildroot}%{perl_man3dir}/Mail::SpamAssassin::Plugin::Collectd.%{perl_man3ext}" rm -rf contrib/SpamAssassin # cussh script from contrib: install -m0755 contrib/cussh.pl "%{buildroot}%{_bindir}/cussh" install -d "%{buildroot}%{_mandir}/man1" pod2man \ -c "Collectd UNIX Socket Shell" \ -n "CUSSH" \ -s 1 \ contrib/cussh.pl > "%{buildroot}%{_mandir}/man1/cussh.1" rm contrib/cussh.pl # snmp: mkdir -p _rpmdoc_/snmp sed -n '/^snmp-data\.conf/,$ p' contrib/README > _rpmdoc_/snmp/README sed -i '/^snmp-data\.conf/,$ d' contrib/README mv contrib/snmp-data.conf _rpmdoc_/snmp/ sed -i 's|\(\./\)snmp-probe-host\.px|collectd-snmp-probe-host|g' contrib/snmp-probe-host.px pod2man \ -c "Collectd SNMP Host Probe" \ -n "COLLECTD-SNMP-PROBE-HOST" \ -s 1 \ contrib/snmp-probe-host.px \ > "%{buildroot}%{_mandir}/man1/collectd-snmp-probe-host.1" install -D -m0755 contrib/snmp-probe-host.px "%{buildroot}%{_bindir}/collectd-snmp-probe-host" rm contrib/snmp-probe-host.px install -d "%{buildroot}%{_mandir}/man1" find contrib/ -name '*.orig' -exec rm {} \; %if !%{with_pgsql} rm -f "%{buildroot}%{_datadir}/collectd/postgresql_default.conf" %endif %if !%{with_snmp_plugin} rm -f "%{buildroot}%{_mandir}/man5/collectd-snmp.5" %endif # plugin list: echo -n > plugins.lst for plugin in %{plugins}; do for ext in so la; do echo "%{_libdir}/collectd/${plugin}.${ext}" >> plugins.lst done done cat<README.plugins-all This package is empty but depends on all collectd plugin subpackages. EOF install -d -m 0755 "%{buildroot}%{_prefix}/sbin" %if 0%{?has_systemd} install -D -m0644 contrib/systemd.collectd.service %{buildroot}%{_unitdir}/collectd.service ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} %else # init script: install -D -m 0755 "%{SOURCE1}" "%{buildroot}%{_initddir}/collectd" ln -s "../..%{_initddir}/collectd" "%{buildroot}%{_sbindir}/rccollectd" %endif %preun %stop_on_removal collectd %if 0%{?has_systemd} %service_del_preun %{name}.service %endif %postun %restart_on_update collectd %insserv_cleanup %if 0%{?has_systemd} %service_del_postun %{name}.service %endif %pre %if 0%{?has_systemd} %service_add_pre %{name}.service %endif %post %{fillup_only collectd} %if 0%{?has_systemd} %service_add_post %{name}.service %endif %post -n libcollectdclient1 -p /sbin/ldconfig %postun -n libcollectdclient1 -p /sbin/ldconfig %files -f plugins.lst %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING README %doc contrib %config(noreplace) %{_sysconfdir}/collectd.conf %dir %{_sysconfdir}/collectd %{_bindir}/collectd-tg %{_bindir}/collectd-nagios %{_bindir}/collectdctl %{_bindir}/cussh %{_sbindir}/collectd %{_sbindir}/collectdmon %{_sbindir}/rccollectd %dir %{_libdir}/collectd %if %{with_esmtp} %{_libdir}/collectd/notify_email.so %{_libdir}/collectd/notify_email.la %endif #with_esmtp %dir %{_datadir}/collectd %{_datadir}/collectd/types.db %{perl_vendorlib}/Collectd.pm %dir %{perl_vendorlib}/Collectd %{perl_vendorlib}/Collectd/* %{perl_vendorarch}/auto/Collectd %doc %{_mandir}/man1/collectd.1%{ext_man} %doc %{_mandir}/man1/collectdctl.1%{ext_man} %doc %{_mandir}/man1/collectdmon.1%{ext_man} %doc %{_mandir}/man1/collectd-tg.1%{ext_man} %doc %{_mandir}/man1/collectd-nagios.1%{ext_man} %doc %{_mandir}/man1/cussh.1%{ext_man} %doc %{_mandir}/man5/collectd.conf.5%{ext_man} %doc %{_mandir}/man5/collectd-email.5%{ext_man} %doc %{_mandir}/man5/collectd-exec.5%{ext_man} %doc %{_mandir}/man5/collectd-perl.5%{ext_man} %doc %{_mandir}/man5/collectd-threshold.5%{ext_man} %doc %{_mandir}/man5/collectd-unixsock.5%{ext_man} %doc %{_mandir}/man5/types.db.5%{ext_man} %doc %{perl_man3dir}/Collectd::Unixsock.%{perl_man3ext}%{ext_man} %dir %{_localstatedir}/lib/collectd %if 0%{?has_systemd} %{_unitdir}/collectd.service %else %{_initddir}/collectd %endif %files web %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}.conf %dir %{_sysconfdir}/collectd %config(noreplace) %{_sysconfdir}/collectd/collection.conf /srv/www/collectd %files web-js %defattr(-,root,root) %doc _rpmdoc_/web-js/README %config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}-js.conf %dir %{_sysconfdir}/collectd %config(noreplace) %{_sysconfdir}/collectd/collection-js.conf /srv/www/collectd-js %{_libexecdir}/collectd-js %if %{libnotify} %files plugin-notify-desktop %defattr(-,root,root) %{_libdir}/collectd/notify_desktop.so %{_libdir}/collectd/notify_desktop.la %endif #libnotify %if %{ipmi} %files plugin-ipmi %defattr(-,root,root) %{_libdir}/collectd/ipmi.so %{_libdir}/collectd/ipmi.la %endif #ipmi %if %{snmp} %files plugin-snmp %defattr(-,root,root) %doc _rpmdoc_/snmp/* %{_bindir}/collectd-snmp-probe-host %doc %{_mandir}/man1/collectd-snmp-probe-host.1%{ext_man} %if %{with_snmp_plugin} %{_libdir}/collectd/snmp.so %{_libdir}/collectd/snmp.la %doc %{_mandir}/man5/collectd-snmp.5%{ext_man} %endif #with_snmp_plugin %endif #snmp %if %{protobuf} %files plugin-pinba %defattr(-,root,root) %{_libdir}/collectd/pinba.so %{_libdir}/collectd/pinba.la %endif #protobuf %if 0%{?suse_version} >= 930 %files plugin-mysql %defattr(-,root,root) %{_libdir}/collectd/mysql.so %{_libdir}/collectd/mysql.la %endif %if %{with_pgsql} %files plugin-postgresql %defattr(-,root,root) %{_libdir}/collectd/postgresql.so %{_libdir}/collectd/postgresql.la %config %{_datadir}/collectd/postgresql_default.conf %endif #with_pgsql %files plugin-python %defattr(-,root,root) %{_libdir}/collectd/python.so %{_libdir}/collectd/python.la %doc %{_mandir}/man5/collectd-python.5%{ext_man} %if %java %files plugin-java %defattr(-,root,root) %doc _rpmdoc_/java/GenericJMX.conf %{_libdir}/collectd/java.so %{_libdir}/collectd/java.la %{_datadir}/collectd/java %doc %{_mandir}/man5/collectd-java.5%{ext_man} %endif #java %if %{virt} %files plugin-virt %defattr(-,root,root) %{_libdir}/collectd/virt.so %{_libdir}/collectd/virt.la %endif #virt %if %{xmms} %files plugin-xmms %defattr(-,root,root) %{_libdir}/collectd/xmms.so %{_libdir}/collectd/xmms.la %endif #xmms %if %{dbi} %files plugin-dbi %defattr(-,root,root) %{_libdir}/collectd/dbi.so %{_libdir}/collectd/dbi.la %endif #dbi %if %{memcachec} %files plugin-memcachec %defattr(-,root,root) %{_libdir}/collectd/memcachec.so %{_libdir}/collectd/memcachec.la %endif #memcachec %if %{with modbus} %files plugin-modbus %defattr(-,root,root) %{_libdir}/collectd/modbus.so %{_libdir}/collectd/modbus.la %endif #modbus %files spamassassin %defattr(-,root,root) %dir %{_datadir}/spamassassin %config(noreplace) %{_datadir}/spamassassin/99_%{name}.cf %dir %{perl_vendorlib}/Mail %dir %{perl_vendorlib}/Mail/SpamAssassin %dir %{perl_vendorlib}/Mail/SpamAssassin/Plugin %{perl_vendorlib}/Mail/SpamAssassin/Plugin/Collectd.pm %doc %{perl_man3dir}/Mail::SpamAssassin::Plugin::Collectd.%{perl_man3ext}%{ext_man} %files plugins-all %defattr(-,root,root) %doc README.plugins-all %files -n libcollectdclient1 %defattr(-,root,root) %{_libdir}/libcollectdclient.so.1 %{_libdir}/libcollectdclient.so.1.*.* %files -n libcollectdclient-devel %defattr(-,root,root) %{_includedir}/collectd %{_libdir}/libcollectdclient.so %{_libdir}/pkgconfig/libcollectdclient.pc %changelog