forked from pool/collectd
d13e7575ec
- The bind plugin does not need bind-devel. OBS-URL: https://build.opensuse.org/request/show/874650 OBS-URL: https://build.opensuse.org/package/show/server:monitoring/collectd?expand=0&rev=169
918 lines
28 KiB
RPMSpec
918 lines
28 KiB
RPMSpec
#
|
|
# spec file for package collectd
|
|
#
|
|
# Copyright (c) 2021 SUSE LLC
|
|
# 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 \\\
|
|
infiniband interface ipc iptables ipvs irq \\\
|
|
load logfile log_logstash \\\
|
|
madwifi match_empty_counter match_hashed match_regex match_timediff match_value \\\
|
|
mdevents 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.12.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: 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)
|
|
%if 0%{?sle_version} < 150000 || 0%{?is_opensuse}
|
|
BuildRequires: pkgconfig(Qgpsmm)
|
|
BuildRequires: pkgconfig(libgps)
|
|
BuildRequires: pkgconfig(libsigrok)
|
|
%endif
|
|
BuildRequires: pkgconfig(dbi)
|
|
BuildRequires: pkgconfig(libatasmart)
|
|
BuildRequires: pkgconfig(libcurl)
|
|
BuildRequires: pkgconfig(libevent)
|
|
BuildRequires: pkgconfig(libiptc)
|
|
BuildRequires: pkgconfig(libmemcached)
|
|
BuildRequires: pkgconfig(libmicrohttpd)
|
|
BuildRequires: pkgconfig(libmnl)
|
|
BuildRequires: pkgconfig(libmosquitto)
|
|
BuildRequires: pkgconfig(libnotify)
|
|
BuildRequires: pkgconfig(liboping)
|
|
BuildRequires: pkgconfig(libpq)
|
|
BuildRequires: pkgconfig(librrd)
|
|
BuildRequires: pkgconfig(libudev)
|
|
BuildRequires: pkgconfig(libupsclient)
|
|
BuildRequires: pkgconfig(libvirt)
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
BuildRequires: pkgconfig(lua)
|
|
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-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-mqtt
|
|
Summary: MQTT Plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-mqtt
|
|
Optional %{name} plugin to send and receive MQTT messages.
|
|
|
|
%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.
|
|
|
|
%if 0%{?sle_version} < 150000 || 0%{?is_opensuse}
|
|
%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.
|
|
%endif
|
|
|
|
%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.
|
|
|
|
%if 0%{?sle_version} < 150000 || 0%{?is_opensuse}
|
|
%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.
|
|
%endif
|
|
|
|
%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 plugin-uptime
|
|
Summary: Uptime plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-uptime
|
|
Optional %{name} plugin to collect system uptime statistics.
|
|
|
|
%package plugin-connectivity
|
|
Summary: Connectivity plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-connectivity
|
|
Optional %{name} plugin to collect Event-based interface status.
|
|
|
|
|
|
%package plugin-procevent
|
|
Summary: Procevent plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-procevent
|
|
Optional %{name} plugin to listen for process starts and exits via netlink.
|
|
|
|
|
|
%package plugin-sysevent
|
|
Summary: Sysevent plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-sysevent
|
|
Optional %{name} plugin to listen to rsyslog events and submit matched values.
|
|
.
|
|
|
|
%package plugin-buddyinfo
|
|
Summary: Buddyinfo plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-buddyinfo
|
|
Optional %{name} plugin for memory fragmentation.
|
|
|
|
%package plugin-logparser
|
|
Summary: Logparser plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-logparser
|
|
Optional %{name} plugin for filtering and parsing logs.
|
|
|
|
%package plugin-ubi
|
|
Summary: ubifs plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-ubi
|
|
Optional %{name} plugin for reporting block state of flash memory devices with UBIFS filesystem.
|
|
|
|
%package plugin-write_influxdb_udp
|
|
Summary: write_influxdb_udp plugin for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%description plugin-write_influxdb_udp
|
|
Optional %{name} plugin to send values to InfluxDB using line protocol via udp
|
|
|
|
%package plugins-all
|
|
Summary: All Monitoring Plugins for %{name}
|
|
Group: System/Monitoring
|
|
Requires: %{name} = %{version}-%{release}
|
|
Requires: %{name}-plugin-buddyinfo = %{version}-%{release}
|
|
Requires: %{name}-plugin-connectivity = %{version}-%{release}
|
|
Requires: %{name}-plugin-dbi = %{version}-%{release}
|
|
%if 0%{?sle_version} < 150000 || 0%{?is_opensuse}
|
|
Requires: %{name}-plugin-gps = %{version}-%{release}
|
|
%endif
|
|
Requires: %{name}-plugin-ipmi = %{version}-%{release}
|
|
Requires: %{name}-plugin-java = %{version}-%{release}
|
|
Requires: %{name}-plugin-logparser = %{version}-%{release}
|
|
Requires: %{name}-plugin-lua = %{version}-%{release}
|
|
Requires: %{name}-plugin-mcelog = %{version}-%{release}
|
|
Requires: %{name}-plugin-memcachec = %{version}-%{release}
|
|
Requires: %{name}-plugin-mqtt = %{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-procevent = %{version}-%{release}
|
|
Requires: %{name}-plugin-python3 = %{version}-%{release}
|
|
%if 0%{?sle_version} < 150000 || 0%{?is_opensuse}
|
|
Requires: %{name}-plugin-sigrok = %{version}-%{release}
|
|
%endif
|
|
Requires: %{name}-plugin-smart = %{version}-%{release}
|
|
Requires: %{name}-plugin-snmp = %{version}-%{release}
|
|
Requires: %{name}-plugin-synproxy = %{version}-%{release}
|
|
Requires: %{name}-plugin-sysevent = %{version}-%{release}
|
|
Requires: %{name}-plugin-ubi = %{version}-%{release}
|
|
Requires: %{name}-plugin-uptime = %{version}-%{release}
|
|
Requires: %{name}-plugin-virt = %{version}-%{release}
|
|
Requires: %{name}-plugin-write_influxdb_udp = %{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-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-mqtt
|
|
%{_libdir}/collectd/mqtt.so
|
|
%{_libdir}/collectd/mqtt.la
|
|
|
|
%if 0%{?sle_version} < 150000 || 0%{?is_opensuse}
|
|
|
|
%files plugin-sigrok
|
|
%{_libdir}/collectd/sigrok.so
|
|
%{_libdir}/collectd/sigrok.la
|
|
|
|
%files plugin-gps
|
|
%{_libdir}/collectd/gps.so
|
|
%{_libdir}/collectd/gps.la
|
|
|
|
%endif
|
|
|
|
%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-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
|
|
|
|
%files plugin-uptime
|
|
%{_libdir}/collectd/check_uptime.la
|
|
%{_libdir}/collectd/check_uptime.so
|
|
|
|
%files plugin-connectivity
|
|
%{_libdir}/collectd/connectivity.la
|
|
%{_libdir}/collectd/connectivity.so
|
|
|
|
%files plugin-procevent
|
|
%{_libdir}/collectd/procevent.la
|
|
%{_libdir}/collectd/procevent.so
|
|
|
|
%files plugin-sysevent
|
|
%{_libdir}/collectd/sysevent.la
|
|
%{_libdir}/collectd/sysevent.so
|
|
|
|
%files plugin-buddyinfo
|
|
%{_libdir}/collectd/buddyinfo.la
|
|
%{_libdir}/collectd/buddyinfo.so
|
|
|
|
%files plugin-logparser
|
|
%{_libdir}/collectd/logparser.la
|
|
%{_libdir}/collectd/logparser.so
|
|
|
|
%files plugin-ubi
|
|
%{_libdir}/collectd/ubi.la
|
|
%{_libdir}/collectd/ubi.so
|
|
|
|
%files plugin-write_influxdb_udp
|
|
%{_libdir}/collectd/write_influxdb_udp.la
|
|
%{_libdir}/collectd/write_influxdb_udp.so
|
|
|
|
%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
|