SHA256
1
0
forked from pool/collectd
collectd/collectd.spec
Dirk Stoecker 5788d17fe3 Accepting request 709801 from home:mnhauke:monitoring
- Update to 5.9.0:
+- Drop patches (fixed by upstream):
+  * 0001-gps-plugin-fix-build-with-newer-gpsd.patch
+  * Removed-checks-for-upper-limit-of-SENSORS_API_VERSION.patch
+- Add new subpackages:
+  * plugin-pcie
+  * plugin-write_stackdriver
+  * plugin-write_syslog
+
+-------------------------------------------------------------------
 Sun Apr 14 12:37:27 UTC 2019 - Christophe Giboudeaux <christophe@krop.fr>
 
 - Update to 5.8.1:
Index: collectd.spec
===================================================================
--- collectd.spec (revision 154)
+++ collectd.spec (revision 9)
@@ -42,7 +42,7 @@
 %define sensors_plugin %{nil}
 %endif
 Name:           collectd
-Version:        5.8.1
+Version:        5.9.0
 Release:        0
 Summary:        Statistics Collection Daemon for filling RRD Files
 License:        GPL-2.0-only AND MIT
@@ -62,8 +62,6 @@
 Patch6:         collectd-fix_spamassassin_doc.patch
 Patch7:         collectd-fix_collectd_config_path_in_snmp_probe.patch
 Patch8:         9e36cd85a2bb_sigrok_Update_to_support_libsigrok_0_4.patch
-Patch9:         0001-gps-plugin-fix-build-with-newer-gpsd.patch
-Patch10:        Removed-checks-for-upper-limit-of-SENSORS_API_VERSION.patch
 # PATCH-FIX-OPENSUSE avoid-pg-config.patch avoid pg_config if possible
 Patch11:        avoid-pg-config.patch
 # for /etc/apache2/... ownership (rpmlint):
@@ -110,7 +108,6 @@
 BuildRequires:  pkgconfig(libatasmart)
 BuildRequires:  pkgconfig(libcurl)
 BuildRequires:  pkgconfig(libevent)
-#BuildRequires:  pkgconfig(libgpsd)
 BuildRequires:  pkgconfig(libgps)
 BuildRequires:  pkgconfig(libiptc)
 BuildRequires:  pkgconfig(libmemcached)
@@ -251,6 +248,14 @@
 %description plugin-lvm
 This plugin collects information from lvm.
 
+%package plugin-pcie
+Summary:        PCIe Monitoring Plugin for %{name}
+Group:          System/Monitoring
+Requires:       %{name} = %{version}-%{release}
+
+%description plugin-pcie
+Optional %{name} plugin to monitor PCIe errors.
+
 %package plugin-postgresql
 Summary:        PostgreSQL Monitoring Plugin for %{name}
 Group:          System/Monitoring
@@ -371,6 +376,22 @@
 %description plugin-synproxy
 Optional %{name} plugin to monitor Synproxy stats.
 
+%package plugin-write_stackdriver
+Summary:        Write Stackdriver plugin for %{name}
+Group:          System/Monitoring
+Requires:       %{name} = %{version}-%{release}
+
+%description plugin-write_stackdriver
+Optional %{name} plugin to to write to Google Stackdriver.
+
+%package plugin-write_syslog
+Summary:        Write Syslog plugin for %{name}
+Group:          System/Monitoring
+Requires:       %{name} = %{version}-%{release}
+
+%description plugin-write_syslog
+Optional %{name} plugin to write values lists as syslog messages.
+
 %package plugins-all
 Summary:        All Monitoring Plugins for %{name}
 Group:          System/Monitoring
@@ -387,6 +408,7 @@
 Requires:       %{name}-plugin-notify-desktop = %{version}-%{release}
 Requires:       %{name}-plugin-openldap = %{version}-%{release}
 Requires:       %{name}-plugin-ovs = %{version}-%{release}
+Requires:       %{name}-plugin-pcie = %{version}-%{release}
 Requires:       %{name}-plugin-pinba = %{version}-%{release}
 Requires:       %{name}-plugin-postgresql = %{version}-%{release}
 Requires:       %{name}-plugin-python3 = %{version}-%{release}
@@ -395,6 +417,8 @@
 Requires:       %{name}-plugin-snmp = %{version}-%{release}
 Requires:       %{name}-plugin-synproxy = %{version}-%{release}
 Requires:       %{name}-plugin-virt = %{version}-%{release}
+Requires:       %{name}-plugin-write_stackdriver = %{version}-%{release}
+Requires:       %{name}-plugin-write_syslog = %{version}-%{release}
 Requires:       %{name}-web = %{version}-%{release}
 Requires:       %{name}-web-js = %{version}-%{release}
 %if 0%{?suse_version} >= 1330
@@ -447,8 +471,6 @@
 %if 0%{?suse_version} > 1320
 %patch8 -p1
 %endif
-%patch9 -p1
-%patch10 -p1
 %patch11 -p1
 
 sed -i 's|@@VERSION@@|%{version}|g' configure.ac
@@ -678,6 +700,10 @@
 %{_libdir}/collectd/mysql.so
 %{_libdir}/collectd/mysql.la
 
+%files plugin-pcie
+%{_libdir}/collectd/pcie_errors.so
+%{_libdir}/collectd/pcie_errors.la
+
 %files plugin-postgresql
 %{_libdir}/collectd/postgresql.so
 %{_libdir}/collectd/postgresql.la
@@ -740,6 +766,14 @@
 %{_libdir}/collectd/synproxy.so
 %{_libdir}/collectd/synproxy.la
 
+%files plugin-write_stackdriver
+%{_libdir}/collectd/write_stackdriver.so
+%{_libdir}/collectd/write_stackdriver.la
+
+%files plugin-write_syslog
+%{_libdir}/collectd/write_syslog.so
+%{_libdir}/collectd/write_syslog.la
+
 %if 0%{?suse_version} >= 1330
 %files plugin-nut
 %{_libdir}/collectd/nut.so
Index: collectd-5.9.0.tar.bz2
===================================================================
Binary file collectd-5.9.0.tar.bz2 (revision 9) added
Index: 0001-gps-plugin-fix-build-with-newer-gpsd.patch
===================================================================
--- 0001-gps-plugin-fix-build-with-newer-gpsd.patch (revision 154)
+++ 0001-gps-plugin-fix-build-with-newer-gpsd.patch (deleted)
@@ -1,41 +0,0 @@
-From d5ec9075510601537cc76be4417ab337364506d0 Mon Sep 17 00:00:00 2001
-From: Baruch Siach <baruch@tkos.co.il>
-Date: Tue, 9 Oct 2018 19:57:21 +0300
-Subject: [PATCH] gps plugin: fix build with newer gpsd
-
-gpsd version 3.18 changed the prototype of gps_read(). Make the
-gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that.
-
-This fixes build failures like:
-
-gps.c: In function 'cgps_thread':
-gps.c:144:11: error: too few arguments to function 'gps_read'
-       if (gps_read(&gpsd_conn) == -1) {
-		   ^~~~~~~~
-
-(cherry picked from commit 991a6d3fd38c2435d94de3853fda36b3330cf6ab)
----
- src/gps.c | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/src/gps.c b/src/gps.c
-index 1d32d049..b22c3a2e 100644
---- a/src/gps.c
-+++ b/src/gps.c
-@@ -141,7 +141,12 @@ static void *cgps_thread(void *pData) {
-         continue;
-       }
- 
--      if (gps_read(&gpsd_conn) == -1) {
-+#if GPSD_API_MAJOR_VERSION > 6
-+      if (gps_read(&gpsd_conn, NULL, 0) == -1)
-+#else
-+      if (gps_read(&gpsd_conn) == -1)
-+#endif
-+      {
-         WARNING("gps plugin: incorrect data! (err_count: %d)", err_count);
-         err_count++;
- 
--- 
-2.16.4
-
Index: Removed-checks-for-upper-limit-of-SENSORS_API_VERSION.patch
===================================================================
--- Removed-checks-for-upper-limit-of-SENSORS_API_VERSION.patch (revision 154)
+++ Removed-checks-for-upper-limit-of-SENSORS_API_VERSION.patch (deleted)
@@ -1,83 +0,0 @@
-From d5a3c020d33cc33ee8049f54c7b4dffcd123bf83 Mon Sep 17 00:00:00 2001
-From: Pavel Rochnyack <pavel2000@ngs.ru>
-Date: Mon, 3 Dec 2018 18:34:14 +0700
-Subject: [PATCH] sensors: Removed checks for upper limit of
- SENSORS_API_VERSION
-
-That makes no more sense after lm-sensors got new maintainers.
-
-Closes: #3006
----
- src/sensors.c | 17 ++++++-----------
- 1 file changed, 6 insertions(+), 11 deletions(-)
-
-diff --git a/src/sensors.c b/src/sensors.c
-index f4ecda5e49..33982e061a 100644
---- a/src/sensors.c
-+++ b/src/sensors.c
-@@ -149,7 +149,7 @@ typedef struct featurelist {
- static char *conffile = SENSORS_CONF_PATH;
- /* #endif SENSORS_API_VERSION < 0x400 */
- 
--#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#elif (SENSORS_API_VERSION >= 0x400)
- typedef struct featurelist {
-   const sensors_chip_name *chip;
-   const sensors_feature *feature;
-@@ -159,11 +159,6 @@ typedef struct featurelist {
- 
- static char *conffile = NULL;
- static _Bool use_labels = 0;
--/* #endif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */
--
--#else /* if SENSORS_API_VERSION >= 0x500 */
--#error "This version of libsensors is not supported yet. Please report this " \
--	"as bug."
- #endif
- 
- static featurelist_t *first_feature = NULL;
-@@ -223,7 +218,7 @@ static int sensors_config(const char *key, const char *value) {
-     if (IS_TRUE(value))
-       ignorelist_set_invert(sensor_list, 0);
-   }
--#if (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#if (SENSORS_API_VERSION >= 0x400)
-   else if (strcasecmp(key, "UseLabels") == 0) {
-     use_labels = IS_TRUE(value) ? 1 : 0;
-   }
-@@ -353,7 +348,7 @@ static int sensors_load_conf(void) {
-   }   /* while sensors_get_detected_chips */
- /* #endif SENSORS_API_VERSION < 0x400 */
- 
--#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#elif (SENSORS_API_VERSION >= 0x400)
-   chip_num = 0;
-   while ((chip = sensors_get_detected_chips(NULL, &chip_num)) != NULL) {
-     const sensors_feature *feature;
-@@ -410,7 +405,7 @@ static int sensors_load_conf(void) {
-       } /* while (subfeature) */
-     }   /* while (feature) */
-   }     /* while (chip) */
--#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */
-+#endif /* (SENSORS_API_VERSION >= 0x400) */
- 
-   if (first_feature == NULL) {
-     sensors_cleanup();
-@@ -485,7 +480,7 @@ static int sensors_read(void) {
-   } /* for fl = first_feature .. NULL */
- /* #endif SENSORS_API_VERSION < 0x400 */
- 
--#elif (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500)
-+#elif (SENSORS_API_VERSION >= 0x400)
-   for (featurelist_t *fl = first_feature; fl != NULL; fl = fl->next) {
-     double value;
-     int status;
-@@ -528,7 +523,7 @@ static int sensors_read(void) {
- 
-     sensors_submit(plugin_instance, type, type_instance, value);
-   } /* for fl = first_feature .. NULL */
--#endif /* (SENSORS_API_VERSION >= 0x400) && (SENSORS_API_VERSION < 0x500) */
-+#endif /* (SENSORS_API_VERSION >= 0x400) */
- 
-   return 0;
- } /* int sensors_read */
Index: collectd-5.8.1.tar.bz2
===================================================================
Binary file collectd-5.8.1.tar.bz2 (revision 154) deleted

OBS-URL: https://build.opensuse.org/request/show/709801
OBS-URL: https://build.opensuse.org/package/show/server:monitoring/collectd?expand=0&rev=155
2019-06-14 09:02:25 +00:00

805 lines
25 KiB
RPMSpec

#
# spec file for package collectd
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2005-2013 Pascal Bleser <pascal.bleser@opensuse.org>
#
# 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 https://bugs.opensuse.org/
#
%define plugins apache apcups aggregation ascent battery bind \\\
ceph cgroups chrony curl curl_json curl_xml conntrack contextswitch cpu cpufreq cpusleep csv \\\
df disk dns drbd \\\
email entropy ethstat exec fhcount filecount fscache hddtemp hugepages \\\
interface ipc iptables ipvs irq \\\
load logfile log_logstash \\\
madwifi match_empty_counter match_hashed match_regex match_timediff match_value \\\
mbmon md memcached memory multimeter \\\
netlink network nfs nginx notify_nagios ntpd numa olsrd openvpn \\\
perl ping protocols powerdns processes \\\
rrdcached rrdtool %{expand:%{sensors_plugin}} serial statsd swap syslog \\\
table tail tail_csv target_notification target_replace target_scale target_set target_v5upgrade \\\
tcpconns teamspeak2 ted thermal threshold \\\
unixsock uptime users uuid vmem vserver \\\
wireless write_graphite write_http write_log write_sensu write_tsdb write_prometheus \\\
zfs_arc zookeeper
%ifnarch s390 s390x
%define sensors 1
%define sensors_plugin sensors
%else
%define sensors 0
%define sensors_plugin %{nil}
%endif
Name: collectd
Version: 5.9.0
Release: 0
Summary: Statistics Collection Daemon for filling RRD Files
License: GPL-2.0-only AND MIT
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
Source99: collectd-rpmlintrc
Patch1: collectd-fix-config.patch
Patch2: collectd-version.patch
Patch3: collectd-perl-vendor.patch
# see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=467072
Patch4: collectd-fix_broken_perl-5.10.patch
Patch5: collectd-fix_collection_cgi.patch
Patch6: collectd-fix_spamassassin_doc.patch
Patch7: collectd-fix_collectd_config_path_in_snmp_probe.patch
Patch8: 9e36cd85a2bb_sigrok_Update_to_support_libsigrok_0_4.patch
# PATCH-FIX-OPENSUSE avoid-pg-config.patch avoid pg_config if possible
Patch11: avoid-pg-config.patch
# for /etc/apache2/... ownership (rpmlint):
BuildRequires: apache2
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bind-devel
BuildRequires: bison
BuildRequires: flex
BuildRequires: gcc
BuildRequires: gdbm-devel
BuildRequires: gettext-devel
BuildRequires: intltool
BuildRequires: java-devel
BuildRequires: libesmtp-devel
BuildRequires: libgcrypt-devel
BuildRequires: libnetlink-devel
BuildRequires: libpcap-devel
BuildRequires: libpng-devel
BuildRequires: libtool
BuildRequires: libyajl-devel
BuildRequires: linux-kernel-headers
BuildRequires: make
BuildRequires: mysql-devel >= 4.1.0
BuildRequires: net-snmp-devel
BuildRequires: openldap2-devel
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: postgresql-devel
BuildRequires: protobuf-c
BuildRequires: rrdtool
BuildRequires: systemd-rpm-macros
BuildRequires: xfsprogs-devel
BuildRequires: pkgconfig(OpenIPMI)
BuildRequires: pkgconfig(OpenIPMIpthread)
BuildRequires: pkgconfig(Qgpsmm)
BuildRequires: pkgconfig(dbi)
BuildRequires: pkgconfig(devmapper)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gail)
BuildRequires: pkgconfig(gdk-2.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(libart-2.0)
BuildRequires: pkgconfig(libatasmart)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libevent)
BuildRequires: pkgconfig(libgps)
BuildRequires: pkgconfig(libiptc)
BuildRequires: pkgconfig(libmemcached)
BuildRequires: pkgconfig(libmicrohttpd)
BuildRequires: pkgconfig(libmnl)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(liboping)
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(librrd)
BuildRequires: pkgconfig(libsigrok)
BuildRequires: pkgconfig(libstatgrab)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libupsclient)
BuildRequires: pkgconfig(libvirt)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(lua)
BuildRequires: pkgconfig(lvm2app)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(xtables)
BuildRequires: pkgconfig(zlib)
Requires: rrdtool
Requires(post): %fillup_prereq
# play nice with collectd-beta:
Obsoletes: collectd-beta < %{version}
Provides: collectd-beta = %{version}-%{release}
%{?systemd_requires}
%if 0%{?suse_version} >= 1330
BuildRequires: pkgconfig(libnutclient)
%endif
%if %{sensors}
BuildRequires: sensors
Requires: sensors
%endif
%description
collectd is a daemon (written in C) that reads various system
statistics and updates RRD files. Statistics are very fine grained
with an update interval of 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(RRDs)
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.
%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 delivery on your desktop.
%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.
%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.
%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.
%package plugin-openldap
Summary: OpenLDAP plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-openldap
This plugin for collectd reads monitoring information
from OpenLDAP's cn=Monitor subtree.
%if 0%{?suse_version} >= 1330
%package plugin-nut
Summary: Network UPS Tools plugin for collectd
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-nut
This plugin for collectd provides Network UPS Tools support.
%endif
%package plugin-lvm
Summary: LVM plugin for collectd
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-lvm
This plugin collects information from lvm.
%package plugin-pcie
Summary: PCIe Monitoring Plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-pcie
Optional %{name} plugin to monitor PCIe errors.
%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.
%package plugin-python3
Summary: Python3 API for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-python3
Optional %{name} Python3 API in order to write %{name} plugins in
Python3.
%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.
%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.
%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.
%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.
%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.
%package plugin-sigrok
Summary: Sigrok Monitoring Plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-sigrok
Optional %{name} plugin to collect measurements from
various devices supported by libsigrok.
%package plugin-smart
Summary: SMART Monitoring Plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-smart
Optional %{name} plugin to monitor Self-Monitoring, Analysis and Reporting
Technology (SMART) information from disk drives.
%package plugin-lua
Summary: Lua API for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
Requires: lua
%description plugin-lua
Optional %{name} Lua API in order to write %{name} plugins in Lua.
%package plugin-gps
Summary: GPSD monitoring plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-gps
Optional %{name} plugin to monitor gpsd.
%package plugin-mcelog
Summary: Machine Check Exceptions plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-mcelog
Optional %{name} plugin to monitor machine check exceptions.
%package plugin-ovs
Summary: Open vSwitch (OVS) plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-ovs
Optional %{name} plugin to monitor an OVS database.
%package plugin-synproxy
Summary: Synproxy stats plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-synproxy
Optional %{name} plugin to monitor Synproxy stats.
%package plugin-write_stackdriver
Summary: Write Stackdriver plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-write_stackdriver
Optional %{name} plugin to to write to Google Stackdriver.
%package plugin-write_syslog
Summary: Write Syslog plugin for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
%description plugin-write_syslog
Optional %{name} plugin to write values lists as syslog messages.
%package plugins-all
Summary: All Monitoring Plugins for %{name}
Group: System/Monitoring
Requires: %{name} = %{version}-%{release}
Requires: %{name}-plugin-dbi = %{version}-%{release}
Requires: %{name}-plugin-gps = %{version}-%{release}
Requires: %{name}-plugin-ipmi = %{version}-%{release}
Requires: %{name}-plugin-java = %{version}-%{release}
Requires: %{name}-plugin-lua = %{version}-%{release}
Requires: %{name}-plugin-lvm = %{version}-%{release}
Requires: %{name}-plugin-mcelog = %{version}-%{release}
Requires: %{name}-plugin-memcachec = %{version}-%{release}
Requires: %{name}-plugin-mysql = %{version}-%{release}
Requires: %{name}-plugin-notify-desktop = %{version}-%{release}
Requires: %{name}-plugin-openldap = %{version}-%{release}
Requires: %{name}-plugin-ovs = %{version}-%{release}
Requires: %{name}-plugin-pcie = %{version}-%{release}
Requires: %{name}-plugin-pinba = %{version}-%{release}
Requires: %{name}-plugin-postgresql = %{version}-%{release}
Requires: %{name}-plugin-python3 = %{version}-%{release}
Requires: %{name}-plugin-sigrok = %{version}-%{release}
Requires: %{name}-plugin-smart = %{version}-%{release}
Requires: %{name}-plugin-snmp = %{version}-%{release}
Requires: %{name}-plugin-synproxy = %{version}-%{release}
Requires: %{name}-plugin-virt = %{version}-%{release}
Requires: %{name}-plugin-write_stackdriver = %{version}-%{release}
Requires: %{name}-plugin-write_syslog = %{version}-%{release}
Requires: %{name}-web = %{version}-%{release}
Requires: %{name}-web-js = %{version}-%{release}
%if 0%{?suse_version} >= 1330
Requires: %{name}-plugin-nut = %{version}-%{release}
%endif
%description plugins-all
Metapackage that installs %{name} and all the available
monitoring plugin subpackages.
%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}"
%patch1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6
%patch7 -p1
%if 0%{?suse_version} > 1320
%patch8 -p1
%endif
%patch11 -p1
sed -i 's|@@VERSION@@|%{version}|g' configure.ac
perl -p -i -e 's|(-L\$withval/lib)\b|${1}64|g' configure.ac configure
# unneeded files:
rm -fr \
contrib/solaris-smf \
contrib/redhat \
contrib/sles*
%build
autoreconf -fiv
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="$CFLAGS"
export KERNEL_DIR=%{_prefix}/src/linux
%configure \
--disable-werror \
--disable-silent-rules \
--disable-static \
--with-java="$JAVA_HOME/" \
--without-included-ltdl \
--disable-turbostat
make %{?_smp_mflags}
%install
%make_install
# 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}"
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%{_sysconfdir}
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' -delete
# 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 <<EOF >README.plugins-all
This package is empty but depends on all collectd plugin subpackages.
EOF
install -d -m 0755 "%{buildroot}%{_sbindir}"
install -D -m0644 contrib/systemd.collectd.service %{buildroot}%{_unitdir}/collectd.service
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}
%preun
%service_del_preun %{name}.service
%postun
%service_del_postun %{name}.service
%pre
%service_add_pre %{name}.service
%post
%{fillup_only collectd}
%service_add_post %{name}.service
%post -n libcollectdclient1 -p /sbin/ldconfig
%postun -n libcollectdclient1 -p /sbin/ldconfig
%files -f plugins.lst
%license COPYING
%doc AUTHORS ChangeLog 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
%{_libdir}/collectd/notify_email.so
%{_libdir}/collectd/notify_email.la
%dir %{_datadir}/collectd
%{_datadir}/collectd/types.db
%{perl_vendorlib}/Collectd.pm
%dir %{perl_vendorlib}/Collectd
%{perl_vendorlib}/Collectd/*
%{perl_vendorarch}/auto/Collectd
%{_mandir}/man1/collectd.1%{?ext_man}
%{_mandir}/man1/collectdctl.1%{?ext_man}
%{_mandir}/man1/collectdmon.1%{?ext_man}
%{_mandir}/man1/collectd-tg.1%{?ext_man}
%{_mandir}/man1/collectd-nagios.1%{?ext_man}
%{_mandir}/man1/cussh.1%{?ext_man}
%{_mandir}/man5/collectd.conf.5%{?ext_man}
%{_mandir}/man5/collectd-email.5%{?ext_man}
%{_mandir}/man5/collectd-exec.5%{?ext_man}
%{_mandir}/man5/collectd-perl.5%{?ext_man}
%{_mandir}/man5/collectd-threshold.5%{?ext_man}
%{_mandir}/man5/collectd-unixsock.5%{?ext_man}
%{_mandir}/man5/types.db.5%{?ext_man}
%doc %{perl_man3dir}/Collectd::Unixsock.%{perl_man3ext}%{ext_man}
%dir %{_localstatedir}/lib/collectd
%{_unitdir}/collectd.service
%files web
%config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}.conf
%dir %{_sysconfdir}/collectd
%config(noreplace) %{_sysconfdir}/collectd/collection.conf
/srv/www/collectd
%files web-js
%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
%files plugin-notify-desktop
%{_libdir}/collectd/notify_desktop.so
%{_libdir}/collectd/notify_desktop.la
%files plugin-ipmi
%{_libdir}/collectd/ipmi.so
%{_libdir}/collectd/ipmi.la
%files plugin-snmp
%doc _rpmdoc_/snmp/*
%{_bindir}/collectd-snmp-probe-host
%{_mandir}/man1/collectd-snmp-probe-host.1%{?ext_man}
%{_libdir}/collectd/snmp*.so
%{_libdir}/collectd/snmp*.la
%{_mandir}/man5/collectd-snmp.5%{?ext_man}
%files plugin-lvm
%{_libdir}/collectd/lvm.so
%{_libdir}/collectd/lvm.la
%files plugin-pinba
%{_libdir}/collectd/pinba.so
%{_libdir}/collectd/pinba.la
%files plugin-mysql
%{_libdir}/collectd/mysql.so
%{_libdir}/collectd/mysql.la
%files plugin-pcie
%{_libdir}/collectd/pcie_errors.so
%{_libdir}/collectd/pcie_errors.la
%files plugin-postgresql
%{_libdir}/collectd/postgresql.so
%{_libdir}/collectd/postgresql.la
%config %{_datadir}/collectd/postgresql_default.conf
%files plugin-python3
%{_libdir}/collectd/python.so
%{_libdir}/collectd/python.la
%{_mandir}/man5/collectd-python.5%{?ext_man}
%files plugin-java
%doc _rpmdoc_/java/GenericJMX.conf
%{_libdir}/collectd/java.so
%{_libdir}/collectd/java.la
%{_datadir}/collectd/java
%{_mandir}/man5/collectd-java.5%{?ext_man}
%files plugin-virt
%{_libdir}/collectd/virt.so
%{_libdir}/collectd/virt.la
%files plugin-dbi
%{_libdir}/collectd/dbi.so
%{_libdir}/collectd/dbi.la
%files plugin-memcachec
%{_libdir}/collectd/memcachec.so
%{_libdir}/collectd/memcachec.la
%files plugin-sigrok
%{_libdir}/collectd/sigrok.so
%{_libdir}/collectd/sigrok.la
%files plugin-smart
%{_libdir}/collectd/smart.so
%{_libdir}/collectd/smart.la
%files plugin-lua
%{_libdir}/collectd/lua.so
%{_libdir}/collectd/lua.la
%{_mandir}/man5/collectd-lua.5%{?ext_man}
%files plugin-gps
%{_libdir}/collectd/gps.so
%{_libdir}/collectd/gps.la
%files plugin-openldap
%{_libdir}/collectd/openldap.so
%{_libdir}/collectd/openldap.la
%files plugin-mcelog
%{_libdir}/collectd/mcelog.so
%{_libdir}/collectd/mcelog.la
%files plugin-ovs
%{_libdir}/collectd/ovs_*.so
%{_libdir}/collectd/ovs_*.la
%files plugin-synproxy
%{_libdir}/collectd/synproxy.so
%{_libdir}/collectd/synproxy.la
%files plugin-write_stackdriver
%{_libdir}/collectd/write_stackdriver.so
%{_libdir}/collectd/write_stackdriver.la
%files plugin-write_syslog
%{_libdir}/collectd/write_syslog.so
%{_libdir}/collectd/write_syslog.la
%if 0%{?suse_version} >= 1330
%files plugin-nut
%{_libdir}/collectd/nut.so
%{_libdir}/collectd/nut.la
%endif
%files spamassassin
%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
%doc README.plugins-all
%files -n libcollectdclient1
%{_libdir}/libcollectdclient.so.1
%{_libdir}/libcollectdclient.so.1.*.*
%files -n libcollectdclient-devel
%{_includedir}/collectd
%{_libdir}/libcollectdclient.so
%{_libdir}/pkgconfig/libcollectdclient.pc
%changelog