diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /app-admin/collectd | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.xz |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'app-admin/collectd')
-rw-r--r-- | app-admin/collectd/Manifest | 2 | ||||
-rw-r--r-- | app-admin/collectd/collectd-5.4.0.ebuild | 374 | ||||
-rw-r--r-- | app-admin/collectd/collectd-5.4.1-r1.ebuild | 379 | ||||
-rw-r--r-- | app-admin/collectd/collectd-5.4.1.ebuild | 372 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-4.10.2-libocci.patch | 20 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-4.10.2-nohal.patch | 23 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-4.10.3-werror.patch | 24 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.1.0-libperl.patch | 30 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.1.1-lt.patch | 32 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.4.1-libocci.patch | 21 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.4.1-libperl.patch | 29 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.4.1-lt.patch | 32 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.4.1-nohal.patch | 24 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd.confd | 22 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd.initd | 60 | ||||
-rw-r--r-- | app-admin/collectd/files/logrotate | 9 | ||||
-rw-r--r-- | app-admin/collectd/metadata.xml | 115 |
17 files changed, 1568 insertions, 0 deletions
diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest new file mode 100644 index 00000000000..6698b99e635 --- /dev/null +++ b/app-admin/collectd/Manifest @@ -0,0 +1,2 @@ +DIST collectd-5.4.0.tar.bz2 1506520 SHA256 90973894a1f10775d409fe23ce7bc4d89c1b7c6f4d9918b305d160605871923e SHA512 10de94d082e6bf2e0a8e2f0b179868c0f25b223c61cb8a5fda641d01f90d6332062459410d54d74a4d666f7149bb429976e9542dabeda988ed6772df9001b222 WHIRLPOOL 19db89217dfaf38fd358a60a64155e01bd68d4c8ca4fad13b97667eb3e4e4d8dbe4e9cae8568e970d8d6fe5e8dde960b06159b3026d1a554fad7a455f973ff0a +DIST collectd-5.4.1.tar.bz2 1521907 SHA256 75452129f271cb0aad28e57f12a49070618bbb7b6a9d64cf869e8766fa2f66e0 SHA512 96289f52d3d1da55c862ae9ee2f57972682d7eab87387e97efa41fb5197599e097abd71aed2fe014e26af37c9ae98471e06dd181c725849976242642ce5c9492 WHIRLPOOL 2ed85b9d6d00c4e7dc6af236b637e282f17c6c0b20c1ba3da9c12ea85c5fdea1add2e29165874c7e9620852e422282d489436a4e245b161902f8926185edec16 diff --git a/app-admin/collectd/collectd-5.4.0.ebuild b/app-admin/collectd/collectd-5.4.0.ebuild new file mode 100644 index 00000000000..6e56ffbf10c --- /dev/null +++ b/app-admin/collectd/collectd-5.4.0.ebuild @@ -0,0 +1,374 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools base eutils linux-info multilib perl-app systemd user + +DESCRIPTION="A a daemon which collects system statistic and provides mechanisms to store the values" + +HOMEPAGE="http://collectd.org" +SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="contrib debug kernel_linux kernel_FreeBSD kernel_Darwin perl selinux static-libs" + +# The plugin lists have to follow here since they extend IUSE + +# Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo) +COLLECTD_IMPOSSIBLE_PLUGINS="aquaero mic netapp pinba sigrok xmms" + +# Plugins that still need some work +COLLECTD_UNTESTED_PLUGINS="amqp apple_sensors genericjmx ipvs lpar modbus redis + tape write_redis zfs_arc" + +# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS +COLLECTD_TESTED_PLUGINS="aggregation apache apcups ascent battery bind cgroups + conntrack contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df disk dns + email entropy ethstat exec filecount fscache gmond hddtemp interface ipmi + iptables irq java libvirt load logfile lvm madwifi match_empty_counter + match_hashed match_regex match_timediff match_value mbmon md memcachec memcached + memory multimeter mysql netlink network network nfs nginx notify_desktop + notify_email ntpd numa nut olsrd onewire openvpn oracle perl perl ping postgresql + powerdns processes protocols python python routeros rrdcached rrdcached rrdtool + sensors serial snmp statsd swap syslog table tail target_notification + target_replace target_scale target_set tcpconns teamspeak2 ted thermal threshold + tokyotyrant unixsock uptime users uuid varnish vmem vserver wireless + write_graphite write_http write_mongodb" + +COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS} ${COLLECTD_UNTESTED_PLUGINS}" + +COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS} + +for plugin in ${COLLECTD_ALL_PLUGINS}; do + IUSE="${IUSE} collectd_plugins_${plugin}" +done +unset plugin + +# Now come the dependencies. + +COMMON_DEPEND=" + dev-libs/libgcrypt:0 + sys-devel/libtool + perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_apache? ( net-misc/curl ) + collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_bind? ( dev-libs/libxml2 ) + collectd_plugins_curl? ( net-misc/curl ) + collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) + collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_dbi? ( dev-db/libdbi ) + collectd_plugins_dns? ( net-libs/libpcap ) + collectd_plugins_gmond? ( sys-cluster/ganglia ) + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13 ) + collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper ) + collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 ) + collectd_plugins_lvm? ( sys-fs/lvm2 ) + collectd_plugins_memcachec? ( dev-libs/libmemcached ) + collectd_plugins_mysql? ( >=virtual/mysql-5.0 ) + collectd_plugins_netlink? ( net-libs/libmnl ) + collectd_plugins_nginx? ( net-misc/curl ) + collectd_plugins_notify_desktop? ( x11-libs/libnotify ) + collectd_plugins_notify_email? ( net-libs/libesmtp dev-libs/openssl ) + collectd_plugins_nut? ( sys-power/nut ) + collectd_plugins_onewire? ( sys-fs/owfs ) + collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) + collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_ping? ( net-libs/liboping ) + collectd_plugins_postgresql? ( dev-db/postgresql ) + collectd_plugins_python? ( =dev-lang/python-2* ) + collectd_plugins_routeros? ( net-libs/librouteros ) + collectd_plugins_rrdcached? ( net-analyzer/rrdtool ) + collectd_plugins_rrdtool? ( net-analyzer/rrdtool ) + collectd_plugins_sensors? ( sys-apps/lm_sensors ) + collectd_plugins_snmp? ( net-analyzer/net-snmp ) + collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) + collectd_plugins_varnish? ( www-servers/varnish ) + collectd_plugins_write_http? ( net-misc/curl ) + collectd_plugins_write_mongodb? ( dev-libs/mongo-c-driver ) + + kernel_FreeBSD? ( + collectd_plugins_disk? ( sys-libs/libstatgrab ) + collectd_plugins_interface? ( sys-libs/libstatgrab ) + collectd_plugins_load? ( sys-libs/libstatgrab ) + collectd_plugins_memory? ( sys-libs/libstatgrab ) + collectd_plugins_swap? ( sys-libs/libstatgrab ) + collectd_plugins_users? ( sys-libs/libstatgrab ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + kernel_linux? ( + collectd_plugins_vserver? ( sys-kernel/vserver-sources ) + )" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd )" + +PATCHES=( + "${FILESDIR}/${PN}-4.10.2"-{libocci,nohal}.patch + "${FILESDIR}/${PN}-4.10.3"-werror.patch + "${FILESDIR}/${PN}-5.1.0"-libperl.patch + "${FILESDIR}/${PN}-5.1.1"-lt.patch +) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: <plug-in name> <kernel_options> <severity> +# kernel_options is a list of kernel configurations options; the check tests whether at least +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message +# is emitted. +collectd_plugin_kernel_linux() { + local multi_opt opt + if has ${1} ${COLLECTD_ALL_PLUGINS}; then + if use collectd_plugins_${1}; then + for opt in ${2}; do + if linux_chkconfig_present ${opt}; then return 0; fi + done + multi_opt=${2//\ /\ or\ } + case ${3} in + (info) + elog "The ${1} plug-in can use kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (warn) + ewarn "The ${1} plug-in uses kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (error) + eerror "The ${1} plug-in needs kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (*) + die "function collectd_plugin_kernel_linux called with invalid third argument" + ;; + esac + fi + fi +} + +collectd_linux_kernel_checks() { + linux-info_pkg_setup + + # battery.c:/proc/pmu/battery_%i + # battery.c:/proc/acpi/battery + collectd_plugin_kernel_linux battery ACPI_BATTERY warn + + # cgroups.c:/sys/fs/cgroup/ + collectd_plugin_kernel_linux cgroups CONFIG_CGROUPS warn + + # cpufreq.c:/sys/devices/system/cpu/cpu%d/cpufreq/ + collectd_plugin_kernel_linux cpufreq SYSFS warn + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn + + # nfs.c:/proc/net/rpc/nfs + # nfs.c:/proc/net/rpc/nfsd + collectd_plugin_kernel_linux nfs NFS_COMMON warn + + # serial.c:/proc/tty/driver/serial + # serial.c:/proc/tty/driver/ttyS + collectd_plugin_kernel_linux serial SERIAL_CORE warn + + # swap.c:/proc/meminfo + collectd_plugin_kernel_linux swap SWAP warn + + # thermal.c:/proc/acpi/thermal_zone + # thermal.c:/sys/class/thermal + collectd_plugin_kernel_linux thermal "PROC_FS SYSFS" warn + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn + + # vmem.c:/proc/vmstat + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn + + # uuid.c:/sys/hypervisor/uuid + collectd_plugin_kernel_linux uuid SYSFS info + + # wireless.c:/proc/net/wireless + collectd_plugin_kernel_linux wireless "MAC80211 IEEE80211" warn +} + +pkg_setup() { + if use kernel_linux; then + if linux_config_exists; then + einfo "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + enewgroup collectd + enewuser collectd -1 -1 /var/lib/collectd collectd +} + +src_prepare() { + base_src_prepare + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + sed -i -e "s:/etc/collectd/collectd.conf:/etc/collectd.conf:g" contrib/collectd.service || die + + # fix installdirs for perl, bug 444360 + sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die + + rm -r libltdl || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="battery cpu cpufreq disk entropy ethstat interface iptables ipvs irq load + memory md netlink nfs numa processes serial swap tcpconns thermal users vmem vserver + wireless" + + local libstatgrab_plugins="cpu disk interface load memory swap users" + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins}" + + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns" + + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}" + local myos_plugins="" + if use kernel_linux; then + einfo "Enabling Linux plugins." + myos_plugins=${linux_plugins} + elif use kernel_FreeBSD; then + einfo "Enabling FreeBSD plugins." + myos_plugins=${bsd_plugins} + elif use kernel_Darwin; then + einfo "Enabling Darwin plugins." + myos_plugins=${darwin_plugins} + fi + + # Do we debug? + local myconf="$(use_enable debug)" + + local plugin + + # Disable what needs to be disabled. + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do + myconf+=" --disable-${plugin}" + done + + # Set enable/disable for each single plugin. + for plugin in ${COLLECTD_ALL_PLUGINS}; do + if has ${plugin} ${osdependent_plugins}; then + # plugin is os-dependent ... + if has ${plugin} ${myos_plugins}; then + # ... and available in this os + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + else + # ... and NOT available in this os + if use collectd_plugins_${plugin}; then + ewarn "You try to enable the ${plugin} plugin, but it is not available for this" + ewarn "kernel. Disabling it automatically." + fi + myconf+=" --disable-${plugin}" + fi + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + # Need JAVA_HOME for java. + if use collectd_plugins_java; then + myconf+=" --with-java=$(java-config -g JAVA_HOME)" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + if ! use collectd_plugins_iptables; then + myconf+=" --with-libiptc=no" + fi + + if use perl; then + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor" + else + myconf+=" --without-perl-bindings" + fi + + # No need for v5upgrade + myconf+=" --disable-target_v5upgrade" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + + perl_delete_localpod + + find "${D}/usr/" -name "*.la" -exec rm -f {} + + + # use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd + # we cannot do this yet + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + dodoc AUTHORS ChangeLog NEWS README TODO + + if use contrib ; then + insinto /usr/share/doc/${PF} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + systemd_dounit "contrib/${PN}.service" + + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" collectd + + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die +} + +collectd_rdeps() { + if (use collectd_plugins_${1} && ! has_version "${2}"); then + elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work." + fi +} + +pkg_postinst() { + collectd_rdeps apcups sys-power/apcupsd + collectd_rdeps hddtemp app-admin/hddtemp + collectd_rdeps mbmon sys-apps/xmbmon + collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2" + collectd_rdeps ntpd net-misc/ntp + collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9" + collectd_rdeps write_mongodb "dev-db/mongodb" + + echo + elog "collectd is now started as unprivileged user by default." + elog "You may want to recheck the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-admin/collectd/collectd-5.4.1-r1.ebuild b/app-admin/collectd/collectd-5.4.1-r1.ebuild new file mode 100644 index 00000000000..e0c319218b8 --- /dev/null +++ b/app-admin/collectd/collectd-5.4.1-r1.ebuild @@ -0,0 +1,379 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +GENTOO_DEPEND_ON_PERL="no" +# XXX: 5.4.1-r0 stated 2* but it builds fine against 3.4 +PYTHON_COMPAT=( python2_7 ) + +inherit autotools base eutils linux-info multilib perl-app python-single-r1 systemd user + +DESCRIPTION="A a daemon which collects system statistic and provides mechanisms to store the values" + +HOMEPAGE="http://collectd.org" +SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="contrib debug kernel_linux kernel_FreeBSD kernel_Darwin perl selinux static-libs" + +# The plugin lists have to follow here since they extend IUSE + +# Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo) +COLLECTD_IMPOSSIBLE_PLUGINS="aquaero mic netapp pinba sigrok xmms" + +# Plugins that still need some work +COLLECTD_UNTESTED_PLUGINS="amqp apple_sensors genericjmx ipvs lpar modbus redis + tape write_redis zfs_arc" + +# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS +COLLECTD_TESTED_PLUGINS="aggregation apache apcups ascent battery bind cgroups + conntrack contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df disk dns + email entropy ethstat exec filecount fscache gmond hddtemp interface ipmi + iptables irq java libvirt load logfile lvm madwifi match_empty_counter + match_hashed match_regex match_timediff match_value mbmon md memcachec memcached + memory multimeter mysql netlink network network nfs nginx notify_desktop + notify_email ntpd numa nut olsrd onewire openvpn oracle perl perl ping postgresql + powerdns processes protocols python python routeros rrdcached rrdcached rrdtool + sensors serial snmp statsd swap syslog table tail target_notification + target_replace target_scale target_set tcpconns teamspeak2 ted thermal threshold + tokyotyrant unixsock uptime users uuid varnish vmem vserver wireless + write_graphite write_http write_mongodb" + +COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS} ${COLLECTD_UNTESTED_PLUGINS}" + +COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS} + +for plugin in ${COLLECTD_ALL_PLUGINS}; do + IUSE="${IUSE} collectd_plugins_${plugin}" +done +unset plugin + +# Now come the dependencies. + +COMMON_DEPEND=" + dev-libs/libgcrypt:0 + sys-devel/libtool + perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_apache? ( net-misc/curl ) + collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_bind? ( dev-libs/libxml2 ) + collectd_plugins_curl? ( net-misc/curl ) + collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) + collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_dbi? ( dev-db/libdbi ) + collectd_plugins_dns? ( net-libs/libpcap ) + collectd_plugins_gmond? ( sys-cluster/ganglia ) + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13 ) + collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper ) + collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 ) + collectd_plugins_lvm? ( sys-fs/lvm2 ) + collectd_plugins_memcachec? ( dev-libs/libmemcached ) + collectd_plugins_mysql? ( >=virtual/mysql-5.0 ) + collectd_plugins_netlink? ( net-libs/libmnl ) + collectd_plugins_nginx? ( net-misc/curl ) + collectd_plugins_notify_desktop? ( x11-libs/libnotify ) + collectd_plugins_notify_email? ( net-libs/libesmtp dev-libs/openssl ) + collectd_plugins_nut? ( sys-power/nut ) + collectd_plugins_onewire? ( sys-fs/owfs ) + collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) + collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_ping? ( net-libs/liboping ) + collectd_plugins_postgresql? ( dev-db/postgresql ) + collectd_plugins_python? ( ${PYTHON_DEPS} ) + collectd_plugins_routeros? ( net-libs/librouteros ) + collectd_plugins_rrdcached? ( net-analyzer/rrdtool ) + collectd_plugins_rrdtool? ( net-analyzer/rrdtool ) + collectd_plugins_sensors? ( sys-apps/lm_sensors ) + collectd_plugins_snmp? ( net-analyzer/net-snmp ) + collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) + collectd_plugins_varnish? ( www-servers/varnish ) + collectd_plugins_write_http? ( net-misc/curl ) + collectd_plugins_write_mongodb? ( dev-libs/mongo-c-driver ) + + kernel_FreeBSD? ( + collectd_plugins_disk? ( sys-libs/libstatgrab ) + collectd_plugins_interface? ( sys-libs/libstatgrab ) + collectd_plugins_load? ( sys-libs/libstatgrab ) + collectd_plugins_memory? ( sys-libs/libstatgrab ) + collectd_plugins_swap? ( sys-libs/libstatgrab ) + collectd_plugins_users? ( sys-libs/libstatgrab ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + kernel_linux? ( + collectd_plugins_vserver? ( sys-kernel/vserver-sources ) + )" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd )" + +REQUIRED_USE=" + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}/${PN}-5.4.1"-{nohal,libocci,libperl,lt}.patch + "${FILESDIR}/${PN}-4.10.3"-werror.patch +) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: <plug-in name> <kernel_options> <severity> +# kernel_options is a list of kernel configurations options; the check tests whether at least +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message +# is emitted. +collectd_plugin_kernel_linux() { + local multi_opt opt + if has ${1} ${COLLECTD_ALL_PLUGINS}; then + if use collectd_plugins_${1}; then + for opt in ${2}; do + if linux_chkconfig_present ${opt}; then return 0; fi + done + multi_opt=${2//\ /\ or\ } + case ${3} in + (info) + elog "The ${1} plug-in can use kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (warn) + ewarn "The ${1} plug-in uses kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (error) + eerror "The ${1} plug-in needs kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (*) + die "function collectd_plugin_kernel_linux called with invalid third argument" + ;; + esac + fi + fi +} + +collectd_linux_kernel_checks() { + linux-info_pkg_setup + + # battery.c:/proc/pmu/battery_%i + # battery.c:/proc/acpi/battery + collectd_plugin_kernel_linux battery ACPI_BATTERY warn + + # cgroups.c:/sys/fs/cgroup/ + collectd_plugin_kernel_linux cgroups CONFIG_CGROUPS warn + + # cpufreq.c:/sys/devices/system/cpu/cpu%d/cpufreq/ + collectd_plugin_kernel_linux cpufreq SYSFS warn + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn + + # nfs.c:/proc/net/rpc/nfs + # nfs.c:/proc/net/rpc/nfsd + collectd_plugin_kernel_linux nfs NFS_COMMON warn + + # serial.c:/proc/tty/driver/serial + # serial.c:/proc/tty/driver/ttyS + collectd_plugin_kernel_linux serial SERIAL_CORE warn + + # swap.c:/proc/meminfo + collectd_plugin_kernel_linux swap SWAP warn + + # thermal.c:/proc/acpi/thermal_zone + # thermal.c:/sys/class/thermal + collectd_plugin_kernel_linux thermal "PROC_FS SYSFS" warn + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn + + # vmem.c:/proc/vmstat + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn + + # uuid.c:/sys/hypervisor/uuid + collectd_plugin_kernel_linux uuid SYSFS info + + # wireless.c:/proc/net/wireless + collectd_plugin_kernel_linux wireless "MAC80211 IEEE80211" warn +} + +pkg_setup() { + if use kernel_linux; then + if linux_config_exists; then + einfo "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + use collectd_plugins_python && python-single-r1_pkg_setup + + enewgroup collectd + enewuser collectd -1 -1 /var/lib/collectd collectd +} + +src_prepare() { + base_src_prepare + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + sed -i -e "s:/etc/collectd/collectd.conf:/etc/collectd.conf:g" contrib/collectd.service || die + + # fix installdirs for perl, bug 444360 + sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die + + rm -r libltdl || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="battery cpu cpufreq disk entropy ethstat interface iptables ipvs irq load + memory md netlink nfs numa processes serial swap tcpconns thermal users vmem vserver + wireless" + + local libstatgrab_plugins="cpu disk interface load memory swap users" + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins}" + + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns" + + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}" + local myos_plugins="" + if use kernel_linux; then + einfo "Enabling Linux plugins." + myos_plugins=${linux_plugins} + elif use kernel_FreeBSD; then + einfo "Enabling FreeBSD plugins." + myos_plugins=${bsd_plugins} + elif use kernel_Darwin; then + einfo "Enabling Darwin plugins." + myos_plugins=${darwin_plugins} + fi + + # Do we debug? + local myconf="$(use_enable debug)" + + local plugin + + # Disable what needs to be disabled. + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do + myconf+=" --disable-${plugin}" + done + + # Set enable/disable for each single plugin. + for plugin in ${COLLECTD_ALL_PLUGINS}; do + if has ${plugin} ${osdependent_plugins}; then + # plugin is os-dependent ... + if has ${plugin} ${myos_plugins}; then + # ... and available in this os + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + else + # ... and NOT available in this os + if use collectd_plugins_${plugin}; then + ewarn "You try to enable the ${plugin} plugin, but it is not available for this" + ewarn "kernel. Disabling it automatically." + fi + myconf+=" --disable-${plugin}" + fi + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + # Need JAVA_HOME for java. + if use collectd_plugins_java; then + myconf+=" --with-java=$(java-config -g JAVA_HOME)" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + if ! use collectd_plugins_iptables; then + myconf+=" --with-libiptc=no" + fi + + if use perl; then + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor" + else + myconf+=" --without-perl-bindings" + fi + + # No need for v5upgrade + myconf+=" --disable-target_v5upgrade" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + + perl_delete_localpod + + find "${D}/usr/" -name "*.la" -exec rm -f {} + + + # use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd + # we cannot do this yet + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + dodoc AUTHORS ChangeLog NEWS README TODO + + if use contrib ; then + insinto /usr/share/doc/${PF} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + systemd_dounit "contrib/${PN}.service" + + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" collectd + + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die +} + +collectd_rdeps() { + if (use collectd_plugins_${1} && ! has_version "${2}"); then + elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work." + fi +} + +pkg_postinst() { + collectd_rdeps apcups sys-power/apcupsd + collectd_rdeps hddtemp app-admin/hddtemp + collectd_rdeps mbmon sys-apps/xmbmon + collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2" + collectd_rdeps ntpd net-misc/ntp + collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9" + collectd_rdeps write_mongodb "dev-db/mongodb" + + echo + elog "collectd is now started as unprivileged user by default." + elog "You may want to revisit the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-admin/collectd/collectd-5.4.1.ebuild b/app-admin/collectd/collectd-5.4.1.ebuild new file mode 100644 index 00000000000..554a27e3ea9 --- /dev/null +++ b/app-admin/collectd/collectd-5.4.1.ebuild @@ -0,0 +1,372 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +GENTOO_DEPEND_ON_PERL="no" + +inherit autotools base eutils linux-info multilib perl-app systemd user + +DESCRIPTION="A a daemon which collects system statistic and provides mechanisms to store the values" + +HOMEPAGE="http://collectd.org" +SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="contrib debug kernel_linux kernel_FreeBSD kernel_Darwin perl selinux static-libs" + +# The plugin lists have to follow here since they extend IUSE + +# Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo) +COLLECTD_IMPOSSIBLE_PLUGINS="aquaero mic netapp pinba sigrok xmms" + +# Plugins that still need some work +COLLECTD_UNTESTED_PLUGINS="amqp apple_sensors genericjmx ipvs lpar modbus redis + tape write_redis zfs_arc" + +# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS +COLLECTD_TESTED_PLUGINS="aggregation apache apcups ascent battery bind cgroups + conntrack contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df disk dns + email entropy ethstat exec filecount fscache gmond hddtemp interface ipmi + iptables irq java libvirt load logfile lvm madwifi match_empty_counter + match_hashed match_regex match_timediff match_value mbmon md memcachec memcached + memory multimeter mysql netlink network network nfs nginx notify_desktop + notify_email ntpd numa nut olsrd onewire openvpn oracle perl perl ping postgresql + powerdns processes protocols python python routeros rrdcached rrdcached rrdtool + sensors serial snmp statsd swap syslog table tail target_notification + target_replace target_scale target_set tcpconns teamspeak2 ted thermal threshold + tokyotyrant unixsock uptime users uuid varnish vmem vserver wireless + write_graphite write_http write_mongodb" + +COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS} ${COLLECTD_UNTESTED_PLUGINS}" + +COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS} + +for plugin in ${COLLECTD_ALL_PLUGINS}; do + IUSE="${IUSE} collectd_plugins_${plugin}" +done +unset plugin + +# Now come the dependencies. + +COMMON_DEPEND=" + dev-libs/libgcrypt:0 + sys-devel/libtool + perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_apache? ( net-misc/curl ) + collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_bind? ( dev-libs/libxml2 ) + collectd_plugins_curl? ( net-misc/curl ) + collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) + collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_dbi? ( dev-db/libdbi ) + collectd_plugins_dns? ( net-libs/libpcap ) + collectd_plugins_gmond? ( sys-cluster/ganglia ) + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13 ) + collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper ) + collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 ) + collectd_plugins_lvm? ( sys-fs/lvm2 ) + collectd_plugins_memcachec? ( dev-libs/libmemcached ) + collectd_plugins_mysql? ( >=virtual/mysql-5.0 ) + collectd_plugins_netlink? ( net-libs/libmnl ) + collectd_plugins_nginx? ( net-misc/curl ) + collectd_plugins_notify_desktop? ( x11-libs/libnotify ) + collectd_plugins_notify_email? ( net-libs/libesmtp dev-libs/openssl ) + collectd_plugins_nut? ( sys-power/nut ) + collectd_plugins_onewire? ( sys-fs/owfs ) + collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic ) + collectd_plugins_perl? ( dev-lang/perl:=[ithreads] ) + collectd_plugins_ping? ( net-libs/liboping ) + collectd_plugins_postgresql? ( dev-db/postgresql ) + collectd_plugins_python? ( =dev-lang/python-2* ) + collectd_plugins_routeros? ( net-libs/librouteros ) + collectd_plugins_rrdcached? ( net-analyzer/rrdtool ) + collectd_plugins_rrdtool? ( net-analyzer/rrdtool ) + collectd_plugins_sensors? ( sys-apps/lm_sensors ) + collectd_plugins_snmp? ( net-analyzer/net-snmp ) + collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant ) + collectd_plugins_varnish? ( www-servers/varnish ) + collectd_plugins_write_http? ( net-misc/curl ) + collectd_plugins_write_mongodb? ( dev-libs/mongo-c-driver ) + + kernel_FreeBSD? ( + collectd_plugins_disk? ( sys-libs/libstatgrab ) + collectd_plugins_interface? ( sys-libs/libstatgrab ) + collectd_plugins_load? ( sys-libs/libstatgrab ) + collectd_plugins_memory? ( sys-libs/libstatgrab ) + collectd_plugins_swap? ( sys-libs/libstatgrab ) + collectd_plugins_users? ( sys-libs/libstatgrab ) + )" + +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + kernel_linux? ( + collectd_plugins_vserver? ( sys-kernel/vserver-sources ) + )" + +RDEPEND="${COMMON_DEPEND} + collectd_plugins_syslog? ( virtual/logger ) + selinux? ( sec-policy/selinux-collectd )" + +PATCHES=( + "${FILESDIR}/${PN}-5.4.1"-{nohal,libocci,libperl,lt}.patch + "${FILESDIR}/${PN}-4.10.3"-werror.patch +) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: <plug-in name> <kernel_options> <severity> +# kernel_options is a list of kernel configurations options; the check tests whether at least +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message +# is emitted. +collectd_plugin_kernel_linux() { + local multi_opt opt + if has ${1} ${COLLECTD_ALL_PLUGINS}; then + if use collectd_plugins_${1}; then + for opt in ${2}; do + if linux_chkconfig_present ${opt}; then return 0; fi + done + multi_opt=${2//\ /\ or\ } + case ${3} in + (info) + elog "The ${1} plug-in can use kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (warn) + ewarn "The ${1} plug-in uses kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (error) + eerror "The ${1} plug-in needs kernel features that are disabled now; enable ${multi_opt} in your kernel" + ;; + (*) + die "function collectd_plugin_kernel_linux called with invalid third argument" + ;; + esac + fi + fi +} + +collectd_linux_kernel_checks() { + linux-info_pkg_setup + + # battery.c:/proc/pmu/battery_%i + # battery.c:/proc/acpi/battery + collectd_plugin_kernel_linux battery ACPI_BATTERY warn + + # cgroups.c:/sys/fs/cgroup/ + collectd_plugin_kernel_linux cgroups CONFIG_CGROUPS warn + + # cpufreq.c:/sys/devices/system/cpu/cpu%d/cpufreq/ + collectd_plugin_kernel_linux cpufreq SYSFS warn + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn + + # nfs.c:/proc/net/rpc/nfs + # nfs.c:/proc/net/rpc/nfsd + collectd_plugin_kernel_linux nfs NFS_COMMON warn + + # serial.c:/proc/tty/driver/serial + # serial.c:/proc/tty/driver/ttyS + collectd_plugin_kernel_linux serial SERIAL_CORE warn + + # swap.c:/proc/meminfo + collectd_plugin_kernel_linux swap SWAP warn + + # thermal.c:/proc/acpi/thermal_zone + # thermal.c:/sys/class/thermal + collectd_plugin_kernel_linux thermal "PROC_FS SYSFS" warn + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn + + # vmem.c:/proc/vmstat + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn + + # uuid.c:/sys/hypervisor/uuid + collectd_plugin_kernel_linux uuid SYSFS info + + # wireless.c:/proc/net/wireless + collectd_plugin_kernel_linux wireless "MAC80211 IEEE80211" warn +} + +pkg_setup() { + if use kernel_linux; then + if linux_config_exists; then + einfo "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + enewgroup collectd + enewuser collectd -1 -1 /var/lib/collectd collectd +} + +src_prepare() { + base_src_prepare + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + sed -i -e "s:/etc/collectd/collectd.conf:/etc/collectd.conf:g" contrib/collectd.service || die + + # fix installdirs for perl, bug 444360 + sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die + + rm -r libltdl || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="battery cpu cpufreq disk entropy ethstat interface iptables ipvs irq load + memory md netlink nfs numa processes serial swap tcpconns thermal users vmem vserver + wireless" + + local libstatgrab_plugins="cpu disk interface load memory swap users" + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins}" + + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns" + + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}" + local myos_plugins="" + if use kernel_linux; then + einfo "Enabling Linux plugins." + myos_plugins=${linux_plugins} + elif use kernel_FreeBSD; then + einfo "Enabling FreeBSD plugins." + myos_plugins=${bsd_plugins} + elif use kernel_Darwin; then + einfo "Enabling Darwin plugins." + myos_plugins=${darwin_plugins} + fi + + # Do we debug? + local myconf="$(use_enable debug)" + + local plugin + + # Disable what needs to be disabled. + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do + myconf+=" --disable-${plugin}" + done + + # Set enable/disable for each single plugin. + for plugin in ${COLLECTD_ALL_PLUGINS}; do + if has ${plugin} ${osdependent_plugins}; then + # plugin is os-dependent ... + if has ${plugin} ${myos_plugins}; then + # ... and available in this os + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + else + # ... and NOT available in this os + if use collectd_plugins_${plugin}; then + ewarn "You try to enable the ${plugin} plugin, but it is not available for this" + ewarn "kernel. Disabling it automatically." + fi + myconf+=" --disable-${plugin}" + fi + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + # Need JAVA_HOME for java. + if use collectd_plugins_java; then + myconf+=" --with-java=$(java-config -g JAVA_HOME)" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + if ! use collectd_plugins_iptables; then + myconf+=" --with-libiptc=no" + fi + + if use perl; then + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor" + else + myconf+=" --without-perl-bindings" + fi + + # No need for v5upgrade + myconf+=" --disable-target_v5upgrade" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + + perl_delete_localpod + + find "${D}/usr/" -name "*.la" -exec rm -f {} + + + # use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd + # we cannot do this yet + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + dodoc AUTHORS ChangeLog NEWS README TODO + + if use contrib ; then + insinto /usr/share/doc/${PF} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + systemd_dounit "contrib/${PN}.service" + + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" collectd + + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die +} + +collectd_rdeps() { + if (use collectd_plugins_${1} && ! has_version "${2}"); then + elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work." + fi +} + +pkg_postinst() { + collectd_rdeps apcups sys-power/apcupsd + collectd_rdeps hddtemp app-admin/hddtemp + collectd_rdeps mbmon sys-apps/xmbmon + collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2" + collectd_rdeps ntpd net-misc/ntp + collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9" + collectd_rdeps write_mongodb "dev-db/mongodb" + + echo + elog "collectd is now started as unprivileged user by default." + elog "You may want to revisit the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed." + fi +} diff --git a/app-admin/collectd/files/collectd-4.10.2-libocci.patch b/app-admin/collectd/files/collectd-4.10.2-libocci.patch new file mode 100644 index 00000000000..2ae42dc1416 --- /dev/null +++ b/app-admin/collectd/files/collectd-4.10.2-libocci.patch @@ -0,0 +1,20 @@ +diff -r -u collectd-4.10.2.orig/configure.in collectd-4.10.2/configure.in +--- collectd-4.10.2.orig/configure.in 2010-11-28 03:27:47.000000000 +0100 ++++ collectd-4.10.2/configure.in 2010-11-28 03:28:23.000000000 +0100 +@@ -2446,14 +2446,14 @@ + ]) + if test "x$ORACLE_HOME" != "x" + then +- with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public" ++ with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public -locci" + + if test -e "$ORACLE_HOME/lib/ldflags" + then + with_oracle_libs=`cat "$ORACLE_HOME/lib/ldflags"` + fi + #with_oracle_libs="-L$ORACLE_HOME/lib $with_oracle_libs -lclntsh" +- with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh" ++ with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh -locci" + fi + if test "x$with_oracle" = "xyes" + then diff --git a/app-admin/collectd/files/collectd-4.10.2-nohal.patch b/app-admin/collectd/files/collectd-4.10.2-nohal.patch new file mode 100644 index 00000000000..a82a3bc7803 --- /dev/null +++ b/app-admin/collectd/files/collectd-4.10.2-nohal.patch @@ -0,0 +1,23 @@ +diff -ruN collectd-4.10.2.orig/configure.in collectd-4.10.2/configure.in +--- collectd-4.10.2.orig/configure.in 2010-11-27 11:10:38.000000000 +0100 ++++ collectd-4.10.2/configure.in 2011-02-07 21:55:22.000000000 +0100 +@@ -1109,18 +1109,7 @@ + AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes") + + dnl Check for HAL (hardware abstraction library) +-with_libhal="yes" +-AC_CHECK_LIB(hal,libhal_device_property_exists, +- [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])], +- [with_libhal="no"]) +-if test "x$with_libhal" = "xyes"; then +- if test "x$PKG_CONFIG" != "x"; then +- BUILD_WITH_LIBHAL_CFLAGS="`pkg-config --cflags hal`" +- BUILD_WITH_LIBHAL_LIBS="`pkg-config --libs hal`" +- AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS) +- AC_SUBST(BUILD_WITH_LIBHAL_LIBS) +- fi +-fi ++with_libhal="no" + + m4_divert_once([HELP_WITH], [ + collectd additional packages:]) diff --git a/app-admin/collectd/files/collectd-4.10.3-werror.patch b/app-admin/collectd/files/collectd-4.10.3-werror.patch new file mode 100644 index 00000000000..6ddb508cdc1 --- /dev/null +++ b/app-admin/collectd/files/collectd-4.10.3-werror.patch @@ -0,0 +1,24 @@ +diff -ruN collectd-4.10.3.orig/src/Makefile.am collectd-4.10.3/src/Makefile.am +--- collectd-4.10.3.orig/src/Makefile.am 2011-03-26 17:08:53.000000000 +0100 ++++ collectd-4.10.3/src/Makefile.am 2011-04-24 22:56:39.521229944 +0200 +@@ -7,7 +7,7 @@ + endif + + if COMPILER_IS_GCC +-AM_CFLAGS = -Wall -Werror ++AM_CFLAGS = -Wall + endif + + AM_CPPFLAGS = -DPREFIX='"${prefix}"' +diff -ruN collectd-4.10.3.orig/src/libcollectdclient/Makefile.am collectd-4.10.3/src/libcollectdclient/Makefile.am +--- collectd-4.10.3.orig/src/libcollectdclient/Makefile.am 2011-03-26 17:04:26.000000000 +0100 ++++ collectd-4.10.3/src/libcollectdclient/Makefile.am 2011-04-24 22:57:12.231229943 +0200 +@@ -1,7 +1,7 @@ + AUTOMAKE_OPTIONS = foreign no-dependencies + + if COMPILER_IS_GCC +-AM_CFLAGS = -Wall -Werror ++AM_CFLAGS = -Wall + endif + + pkginclude_HEADERS = client.h lcc_features.h diff --git a/app-admin/collectd/files/collectd-5.1.0-libperl.patch b/app-admin/collectd/files/collectd-5.1.0-libperl.patch new file mode 100644 index 00000000000..9a44d5b57ad --- /dev/null +++ b/app-admin/collectd/files/collectd-5.1.0-libperl.patch @@ -0,0 +1,30 @@ +diff --git a/configure.in b/configure.in +index 1cfc2fc..384c298 100644 +--- a/configure.in ++++ b/configure.in +@@ -2944,11 +2944,13 @@ if test "x$with_libperl" = "xyes" \ + then + SAVE_CFLAGS="$CFLAGS" + SAVE_LDFLAGS="$LDFLAGS" ++ SAVE_LIBS="$LIBS" + dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string) + PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts` + PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts` + CFLAGS="$CFLAGS $PERL_CFLAGS" + LDFLAGS="$LDFLAGS $PERL_LDFLAGS" ++ LIBS="$LIBS -lperl -lpthread" + + AC_CACHE_CHECK([for libperl], + [c_cv_have_libperl], +@@ -2967,7 +2969,10 @@ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string + Nullsv); + ]]), + [c_cv_have_libperl="yes"], +- [c_cv_have_libperl="no"] ++ [ ++ c_cv_have_libperl="no" ++ LIBS="$SAVE_LIBS" ++ ] + ) + ) +
\ No newline at end of file diff --git a/app-admin/collectd/files/collectd-5.1.1-lt.patch b/app-admin/collectd/files/collectd-5.1.1-lt.patch new file mode 100644 index 00000000000..4aa734b1efa --- /dev/null +++ b/app-admin/collectd/files/collectd-5.1.1-lt.patch @@ -0,0 +1,32 @@ +diff --git a/Makefile.am b/Makefile.am +index 5267123..a7e0d0c 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,4 @@ +-ACLOCAL_AMFLAGS = -I libltdl/m4 +- +-SUBDIRS = libltdl src bindings . ++SUBDIRS = src bindings . + + INCLUDES = $(LTDLINCL) + +diff --git a/configure.in b/configure.in +index eff8d61..a22a561 100644 +--- a/configure.in ++++ b/configure.in +@@ -7,7 +7,6 @@ AC_CONFIG_AUX_DIR([libltdl/config]) + m4_ifdef([LT_PACKAGE_VERSION], + # libtool >= 2.2 + [ +- LT_CONFIG_LTDL_DIR([libltdl]) + LT_INIT([dlopen]) + LTDL_INIT([convenience]) + AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.]) +@@ -19,7 +18,6 @@ m4_ifdef([LT_PACKAGE_VERSION], + AC_SUBST(LTDLINCL) + AC_SUBST(LIBLTDL) + AC_LIBTOOL_DLOPEN +- AC_CONFIG_SUBDIRS(libltdl) + AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.]) + ] + )
\ No newline at end of file diff --git a/app-admin/collectd/files/collectd-5.4.1-libocci.patch b/app-admin/collectd/files/collectd-5.4.1-libocci.patch new file mode 100644 index 00000000000..14b7d6992bb --- /dev/null +++ b/app-admin/collectd/files/collectd-5.4.1-libocci.patch @@ -0,0 +1,21 @@ +diff --git configure.ac configure.ac +index 7029e1e..72f6ff4 100644 +--- configure.ac ++++ configure.ac +@@ -2941,14 +2941,14 @@ AC_ARG_WITH(oracle, [AS_HELP_STRING([--with-oracle@<:@=ORACLE_HOME@:>@], [Path t + ]) + if test "x$ORACLE_HOME" != "x" + then +- with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public" ++ with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public -locci" + + if test -e "$ORACLE_HOME/lib/ldflags" + then + with_oracle_libs=`cat "$ORACLE_HOME/lib/ldflags"` + fi + #with_oracle_libs="-L$ORACLE_HOME/lib $with_oracle_libs -lclntsh" +- with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh" ++ with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh -locci" + fi + if test "x$with_oracle" = "xyes" + then
\ No newline at end of file diff --git a/app-admin/collectd/files/collectd-5.4.1-libperl.patch b/app-admin/collectd/files/collectd-5.4.1-libperl.patch new file mode 100644 index 00000000000..4f60802240a --- /dev/null +++ b/app-admin/collectd/files/collectd-5.4.1-libperl.patch @@ -0,0 +1,29 @@ +diff --git configure.ac configure.ac +index ce8a9bc..eaa464e 100644 +--- configure.ac ++++ configure.ac +@@ -3109,11 +3109,13 @@ if test "x$with_libperl" = "xyes" \ + then + SAVE_CFLAGS="$CFLAGS" + SAVE_LDFLAGS="$LDFLAGS" ++ SAVE_LIBS="$LIBS" + dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string) + PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts` + PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts` + CFLAGS="$CFLAGS $PERL_CFLAGS" + LDFLAGS="$LDFLAGS $PERL_LDFLAGS" ++ LIBS="$LIBS -lperl -lpthread" + + AC_CACHE_CHECK([for libperl], + [c_cv_have_libperl], +@@ -3132,7 +3134,10 @@ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string + ]]] + )], + [c_cv_have_libperl="yes"], +- [c_cv_have_libperl="no"] ++ [ ++ c_cv_have_libperl="no" ++ LIBS="$SAVE_LIBS" ++ ] + ) + ) diff --git a/app-admin/collectd/files/collectd-5.4.1-lt.patch b/app-admin/collectd/files/collectd-5.4.1-lt.patch new file mode 100644 index 00000000000..bac1809f1c3 --- /dev/null +++ b/app-admin/collectd/files/collectd-5.4.1-lt.patch @@ -0,0 +1,32 @@ +diff --git Makefile.am Makefile.am +index 5267123..a7e0d0c 100644 +--- Makefile.am ++++ Makefile.am +@@ -1,6 +1,4 @@ +-ACLOCAL_AMFLAGS = -I libltdl/m4 +- +-SUBDIRS = libltdl src bindings . ++SUBDIRS = src bindings . + + INCLUDES = $(LTDLINCL) + +diff --git configure.ac configure.ac +index eaa464e..d652d46 100644 +--- configure.ac ++++ configure.ac +@@ -7,7 +7,6 @@ AC_CONFIG_AUX_DIR([libltdl/config]) + m4_ifdef([LT_PACKAGE_VERSION], + # libtool >= 2.2 + [ +- LT_CONFIG_LTDL_DIR([libltdl]) + LT_INIT([dlopen]) + LTDL_INIT([convenience]) + AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.]) +@@ -19,7 +18,6 @@ m4_ifdef([LT_PACKAGE_VERSION], + AC_SUBST(LTDLINCL) + AC_SUBST(LIBLTDL) + AC_LIBTOOL_DLOPEN +- AC_CONFIG_SUBDIRS(libltdl) + AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.]) + ] + )
\ No newline at end of file diff --git a/app-admin/collectd/files/collectd-5.4.1-nohal.patch b/app-admin/collectd/files/collectd-5.4.1-nohal.patch new file mode 100644 index 00000000000..9978296e8df --- /dev/null +++ b/app-admin/collectd/files/collectd-5.4.1-nohal.patch @@ -0,0 +1,24 @@ +diff --git configure.ac configure.ac +index 7029e1e..ad5e336 100644 +--- configure.ac ++++ configure.ac +@@ -1351,18 +1351,7 @@ AC_CHECK_LIB(resolv, res_search, + AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes") + + dnl Check for HAL (hardware abstraction library) +-with_libhal="yes" +-AC_CHECK_LIB(hal,libhal_device_property_exists, +- [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])], +- [with_libhal="no"]) +-if test "x$with_libhal" = "xyes"; then +- if test "x$PKG_CONFIG" != "x"; then +- BUILD_WITH_LIBHAL_CFLAGS="`pkg-config --cflags hal`" +- BUILD_WITH_LIBHAL_LIBS="`pkg-config --libs hal`" +- AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS) +- AC_SUBST(BUILD_WITH_LIBHAL_LIBS) +- fi +-fi ++with_libhal="no" + + m4_divert_once([HELP_WITH], [ + collectd additional packages:])
\ No newline at end of file diff --git a/app-admin/collectd/files/collectd.confd b/app-admin/collectd/files/collectd.confd new file mode 100644 index 00000000000..979b7255b0f --- /dev/null +++ b/app-admin/collectd/files/collectd.confd @@ -0,0 +1,22 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# Nice value used to launch collectd, to change priority of the process. As +# you usually will want to run it in background, a default of 5 is used. +# +#COLLECTD_NICELVL='5' + +# Location of configuration file. Modify if you don't like the standard one. +# +#COLLECTD_CFGFILE='/etc/collectd.conf' + +# File used to store the PID file. Usually you won't need to touch it. +# +#COLLECTD_PIDFILE='/var/run/collectd/collectd.pid' + +# User to run collectd as (default is collectd, change to root or give +# collectd user appropriate privileges if you use one of the plugins that +# require it, as e.g. ping or iptables plugins) +# +#COLLECTD_USER='collectd' diff --git a/app-admin/collectd/files/collectd.initd b/app-admin/collectd/files/collectd.initd new file mode 100644 index 00000000000..4f48a116c37 --- /dev/null +++ b/app-admin/collectd/files/collectd.initd @@ -0,0 +1,60 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +: ${COLLECTD_PIDFILE:='/var/run/collectd/collectd.pid'} +: ${COLLECTD_CFGFILE:='/etc/collectd.conf'} +: ${COLLECTD_NICELVL:='5'} +: ${COLLECTD_USER:='collectd'} + +extra_commands="configtest" + +depend() { + use net +} + +configtest() { + ebegin "Checking ${SVCNAME} configuration" + checkconfig + eend $? +} + +checkconfig() { + if [ $(sed '/^$\|^#/d' ${COLLECTD_CFGFILE} | grep -c 'LoadPlugin\w\+oracle') != 0 ] ; then + if [ -e /etc/env.d/50oracle-instantclient-basic ] ; then + . /etc/env.d/50oracle-instantclient-basic + export ORACLE_HOME + export TNS_ADMIN + else + ewarn "Unable to set Oracle environment, Oracle plugin wont work" + fi + fi + + /usr/sbin/collectd -t -C "${COLLECTD_CFGFILE}" 1>/dev/null 2>&1 + ret=$? + if [ $ret -ne 0 ]; then + eerror "${SVCNAME} has detected an error in your setup:" + /usr/sbin/collectd -t -C "${COLLECTD_CFGFILE}" + fi + + return $ret +} + +start() { + checkconfig || return 1 + [ -d /var/run/collectd ] || mkdir /var/run/collectd && chown collectd:collectd /var/run/collectd + + ebegin "Starting collectd" + start-stop-daemon --start --user "${COLLECTD_USER}:collectd" \ + --nicelevel "${COLLECTD_NICELVL}" --exec /usr/sbin/collectd -- \ + -P "${COLLECTD_PIDFILE}" -C "${COLLECTD_CFGFILE}" + eend $? "Failed to start collectd" +} + +stop() { + ebegin "Stopping collectd" + start-stop-daemon --stop \ + --pidfile "${COLLECTD_PIDFILE}" + eend $? "Failed to stop collectd" +} diff --git a/app-admin/collectd/files/logrotate b/app-admin/collectd/files/logrotate new file mode 100644 index 00000000000..5d344f6208f --- /dev/null +++ b/app-admin/collectd/files/logrotate @@ -0,0 +1,9 @@ +# +# /etc/logrotate.d/collectd +# +/var/log/collectd.log { + daily + rotate 5 + notifempty + missingok +} diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml new file mode 100644 index 00000000000..536b2ec9cf5 --- /dev/null +++ b/app-admin/collectd/metadata.xml @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>proxy-maintainers</herd> + <longdescription>Collectd gathers statistics about the system it is running on and stores this information. Those statistics can then be used to find current performance bottlenecks (i.e. performance analysis) and predict future system load (i.e. capacity planning). Or if you just want pretty graphs of your private server and are fed up with some homegrown solution you're at the right place.</longdescription> + <maintainer> + <email>bugs@bergstroem.nu</email> + <name>Johan Bergström</name> + <description>Proxied Maintainer</description> + </maintainer> + <use> + <flag name='collectd_plugins_aggregation'>Build the aggregation plugin (aggregate multiplte values into a single value)</flag> + <flag name='collectd_plugins_apache'>Build the apache input plugin (transferred bytes, handled requests, detailed scoreboard statistics)</flag> + <flag name='collectd_plugins_apcups'>Build the apcups input plugin (UPS charge, load, input/output/battery voltage, etc.)</flag> + <flag name='collectd_plugins_ascent'>Build the ascent input plugin (statistics about a free server for World of Warcraft)</flag> + <flag name='collectd_plugins_battery'>Build the battery input plugin (charge, current and voltage of ACPI and PMU based laptop batteries)</flag> + <flag name='collectd_plugins_bind'>Build the bind input plugin (name server and resolver statistics)</flag> + <flag name='collectd_plugins_cgroups'>Build the cgroups CPU accounting collection plugin</flag> + <flag name='collectd_plugins_conntrack'>Build the conntrack input plugin (number of nf_conntrack entries)</flag> + <flag name='collectd_plugins_contextswitch'>Build the contextswitch input plugin (number of context switches done by the operating system)</flag> + <flag name='collectd_plugins_cpu'>Build the cpu input plugin (time spent in the system, user, nice, idle, and related states)</flag> + <flag name='collectd_plugins_cpufreq'>Build the cpufreq input plugin (CPU frequency, for laptops with speedstep or similar)</flag> + <flag name='collectd_plugins_csv'>Build the csv output plugin (write to comma separated values (CSV) files)</flag> + <flag name='collectd_plugins_curl'>Build the curl input plugin (parse statistics from websites using regular expressions)</flag> + <flag name='collectd_plugins_curl_json'>Build the curl_json input plugin (get json data via curl and parse it)</flag> + <flag name='collectd_plugins_curl_xml'>Build the curl_xml input plugin (get xml data via curl and parse it)</flag> + <flag name='collectd_plugins_dbi'>Build the dbi input plugin (execute SQL statements on databases and interpret the reply)</flag> + <flag name='collectd_plugins_df'>Build the df input plugin (mountpoint usage)</flag> + <flag name='collectd_plugins_disk'>Build the disk input plugin (sectors read/written, number of read/write actions, average completion time of IO-operations)</flag> + <flag name='collectd_plugins_dns'>Build the dns input plugin (collects statistics of your DNS traffic on port udp/53)</flag> + <flag name='collectd_plugins_email'>Build the email input plugin (opens a UNIX domain socket and starts accepting connections on that socket)</flag> + <flag name='collectd_plugins_entropy'>Build the entropy input plugin (available entropy on a system)</flag> + <flag name='collectd_plugins_ethstat'>Build the ethstat input plugin (performance statistics of Linux ethernet cards)</flag> + <flag name='collectd_plugins_exec'>Build the exec input/output plugin (executes scripts / applications and reads values back)</flag> + <flag name='collectd_plugins_filecount'>Build the filecount input plugin (countd the number of files in a directory and all its subdirectories)</flag> + <flag name='collectd_plugins_fscache'>Build the fscache input plugin (information about the caching infrastructure for network file-systems etc)</flag> + <flag name='collectd_plugins_gmond'>Build the gmond input plugin (receive data from gmond, the client daemon of the Ganglia project)</flag> + <flag name='collectd_plugins_hddtemp'>Build the hddtemp input plugin (temperature of hard disks)</flag> + <flag name='collectd_plugins_interface'>Build the interface input plugin (information about traffic, packets and errors of interfaces)</flag> + <flag name='collectd_plugins_ipmi'>Build the ipmi input plugin (read hardware sensors from servers using the Intelligent Platform Management Interface (IPMI))</flag> + <flag name='collectd_plugins_iptables'>Build the iptables input plugin (statistics from a ip_tables based packet filter)</flag> + <flag name='collectd_plugins_irq'>Build the irq input plugin (number of times each interrupt has been handled by the os)</flag> + <flag name='collectd_plugins_java'>Build the java input plugin (embeds a JVM into collectd for writing plugins)</flag> + <flag name='collectd_plugins_libvirt'>Build the libvirt input plugin (statistics about virtualized guests on a system)</flag> + <flag name='collectd_plugins_load'>Build the load input plugin (system load)</flag> + <flag name='collectd_plugins_logfile'>Build the logfile output plugin (writes log messages to a text file)</flag> + <flag name='collectd_plugins_lvm'>Build the LVM input plugin</flag> + <flag name='collectd_plugins_madwifi'>Build the madwifi input plugin (information about Atheros wireless LAN chipsets)</flag> + <flag name='collectd_plugins_match_empty_counter'>Build the match_empty_counter filter plugin</flag> + <flag name='collectd_plugins_match_hashed'>Build the match_hashed filter plugin</flag> + <flag name='collectd_plugins_match_regex'>Build the match_regex filter plugin</flag> + <flag name='collectd_plugins_match_timediff'>Build the match_timediff filter plugin</flag> + <flag name='collectd_plugins_match_value'>Build the match_value filter plugin</flag> + <flag name='collectd_plugins_mbmon'>Build the mbmon input plugin (information from mainboard sensors)</flag> + <flag name='collectd_plugins_md'>Build the md input plugin (disk states in Linux md devices)</flag> + <flag name='collectd_plugins_memcachec'>Build the memcachec input plugin (connects to a memcached server)</flag> + <flag name='collectd_plugins_memcached'>Build the memcached input plugin (connects to a memcached daemon)</flag> + <flag name='collectd_plugins_memory'>Build the memory input plugin (physical memory utilization)</flag> + <flag name='collectd_plugins_multimeter'>Build the multimeter input plugin (reads a voltage or current from a multimeter connected to a serial bus)</flag> + <flag name='collectd_plugins_mysql'>Build the mysql input plugin (connects to an MySQL-database and issues a SHOW STATUS command)</flag> + <flag name='collectd_plugins_netlink'>Build the netlink input plugin (opens a netlink socket to the Linux kernel for getting statistics)</flag> + <flag name='collectd_plugins_network'>Build the network input/output plugin (communicates with other instances of collectd)</flag> + <flag name='collectd_plugins_nfs'>Build the nfs input plugin (usage of the Network File System)</flag> + <flag name='collectd_plugins_nginx'>Build the nginx input plugin (number of requests handled by the nginx daemon)</flag> + <flag name='collectd_plugins_notify_desktop'>Build the notify_desktop output plugin (uses libnotify to display notifications to the user)</flag> + <flag name='collectd_plugins_notify_email'>Build the notify_email output plugin (uses libESMTP to send notifications to a configured email address)</flag> + <flag name='collectd_plugins_ntpd'>Build the ntpd input plugin (queries an NTP server)</flag> + <flag name='collectd_plugins_numa'>Build the numa input plugin (statistics of the Linux Non-Uniform Memory Access (NUMA) subsystem)</flag> + <flag name='collectd_plugins_nut'>Build the nut input plugin (collects UPS statistics using the Network UPS Tools)</flag> + <flag name='collectd_plugins_oracle'>Build the oracle input plugin (SQL-queries one or more Oracle database systems)</flag> + <flag name='collectd_plugins_olsrd'>Build the olsrd input plugin (reads information about the Optimized Link State Routing daemon)</flag> + <flag name='collectd_plugins_onewire'>Build the onewire input plugin (collects temperature information from sensors)</flag> + <flag name='collectd_plugins_openvpn'>Build the openvpn input plugin (reads the status file printed by OpenVPN)</flag> + <flag name='collectd_plugins_perl'>Build the perl language binding plugin (embeds a Perl interpreter into collectd for writing plugins)</flag> + <flag name='collectd_plugins_ping'>Build the ping input plugin (measures network latency)</flag> + <flag name='collectd_plugins_postgresql'>Build the postgresql input plugin (connects to and executes SQL statements on a PostgreSQL database)</flag> + <flag name='collectd_plugins_powerdns'>Build the powerdns input plugin (connects to a local PowerDNS instance)</flag> + <flag name='collectd_plugins_processes'>Build the processes input plugin (statistics about processes)</flag> + <flag name='collectd_plugins_protocols'>Build the protocols input plugin (network protocols)</flag> + <flag name='collectd_plugins_python'>Build the python language binding plugin (embeds a Python interpreter into collectd for writing plugins)</flag> + <flag name='collectd_plugins_rrdcached'>Build the rrdcached input/output plugin (connects to rrdcached and submits updates for RRD files)</flag> + <flag name='collectd_plugins_rrdtool'>Build the rrdtool output plugin (writes values to RRD-files)</flag> + <flag name='collectd_plugins_routeros'>Build the routeros input plugin (collect information on devices running RouterOS)</flag> + <flag name='collectd_plugins_sensors'>Build the sensors input plugin (uses lm-sensors to read hardware sensors)</flag> + <flag name='collectd_plugins_serial'>Build the serial input plugin (collects the traffic on serial interfaces)</flag> + <flag name='collectd_plugins_snmp'>Build the snmp input plugin (read values from network devices using SNMP)</flag> + <flag name='collectd_plugins_statsd'>Build the statsd input plugin (accepts statsd-type metrics from a UDP socket)</flag> + <flag name='collectd_plugins_swap'>Build the swap input plugin (amount of memory currently written to swap)</flag> + <flag name='collectd_plugins_syslog'>Build the syslog output plugin (receives messages from collectd and dispatches them to syslog)</flag> + <flag name='collectd_plugins_table'>Build the table input plugin (parses table-like structured plain text)</flag> + <flag name='collectd_plugins_tail'>Build the tail input plugin (follows logfiles as e.g. tail -f)</flag> + <flag name='collectd_plugins_target_notification'>Build the target_notification filter plugin</flag> + <flag name='collectd_plugins_target_replace'>Build the target_replace filter plugin</flag> + <flag name='collectd_plugins_target_scale'>Build the target_scale filter plugin</flag> + <flag name='collectd_plugins_target_set'>Build the target_set filter plugin</flag> + <flag name='collectd_plugins_tcpconns'>Build the tcpconns input plugin (number of TCP connections to or from a specified port)</flag> + <flag name='collectd_plugins_teamspeak2'>Build the teamspeak2 input plugin (collects traffic statistics from a teamspeak2 instance)</flag> + <flag name='collectd_plugins_ted'>Build the ted input plugin (connects to The Energy Detective and reads the current power over connected power lines)</flag> + <flag name='collectd_plugins_thermal'>Build the thermal input plugin (ACPI thermal zone information)</flag> + <flag name='collectd_plugins_threshold'>Build the threshold plugin (checks values against configured thresholds and creates notifications if values are out of bounds)</flag> + <flag name='collectd_plugins_tokyotyrant'>Build the tokyotyrant input plugin (number of records and file size from a running Tokyo Tyrant server)</flag> + <flag name='collectd_plugins_uptime'>Build the uptime input plugin (system uptime)</flag> + <flag name='collectd_plugins_unixsock'>Build the unixsock output plugin (opens a UNIX domain socket and accepts connections)</flag> + <flag name='collectd_plugins_users'>Build the users input plugin (number of users currently logged in)</flag> + <flag name='collectd_plugins_uuid'>Build the uuid plugin (tries hard to determine the UUID of the system it is running on)</flag> + <flag name='collectd_plugins_varnish'>Build the varnish input plugin</flag> + <flag name='collectd_plugins_vmem'>Build the vmem input plugin (information about the virtual memory subsystem)</flag> + <flag name='collectd_plugins_vserver'>Build the vserver input plugin (virtual servers running on a system)</flag> + <flag name='collectd_plugins_wireless'>Build the wireless input plugin (signal quality, signal power and signal-to-noise ratio for wireless LAN cards)</flag> + <flag name='collectd_plugins_write_graphite'>Build the write_graphite output plugin (sends the values collected by collectd to Carbon, the storage layer of the Graphite time-series database)</flag> + <flag name='collectd_plugins_write_http'>Build the write_http output plugin (sends the values collected by collectd to a web-server)</flag> + <flag name='collectd_plugins_write_mongodb'>Build the write_mongodb output plugin (sends the values collected by collectd to a MongoDB)</flag> + <flag name='contrib'>Install user-contributed files in the doc directory</flag> + </use> +</pkgmetadata> |