Gentoo Archives: gentoo-commits

From: Patrice Clement <monsieurp@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-admin/collectd/files/, app-admin/collectd/
Date: Mon, 29 Feb 2016 16:21:09
Message-Id: 1456221856.3b459b6d37f22f9da2c070173756bf12de2591f0.monsieurp@gentoo
1 commit: 3b459b6d37f22f9da2c070173756bf12de2591f0
2 Author: Thomas D <whissi <AT> whissi <DOT> de>
3 AuthorDate: Fri Feb 19 23:11:26 2016 +0000
4 Commit: Patrice Clement <monsieurp <AT> gentoo <DOT> org>
5 CommitDate: Tue Feb 23 10:04:16 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3b459b6d
7
8 app-admin/collectd: Bumped to v5.5.1
9
10 - New upstream version (Closes #570766, #517060)
11
12 - Bumped to EAPI=6
13
14 - Non-functional mongodb plugin disabled in ebuild (see upstream
15 issue #492, closes #524400)
16
17 - Multiple dependency problems fixed
18
19 - linux-info eclass usage fixed (Closes #570778)
20
21 - Support for new plugins added (amqp, genericjmx, ipvs, modbus, sigrok,
22 tail_csv, vserver, write_riemann)
23
24 - PYTHON_SINGLE_TARGET support for Python 3.4 and 3.5 enabled
25
26 - Documentation improved (USE flag description, elogs)
27
28 - Linux capabilities usage expanded to improve running collectd as
29 unprivileged user (disable via filecaps USE flag)
30
31 - Runscript rewritten
32
33 - Runscript now supports OpenRC's default status function
34
35 - Runscript now guarantees service shutdown
36
37 - Validating configuration before (re)starting daemon
38
39 app-admin/collectd/Manifest | 1 +
40 app-admin/collectd/collectd-5.5.1.ebuild | 460 +++++++++++++++++++++
41 .../collectd/files/collectd-5.5.1-libocci.patch | 33 ++
42 app-admin/collectd/files/collectd-5.5.1-lt.patch | 60 +++
43 .../collectd/files/collectd-5.5.1-nohal.patch | 35 ++
44 app-admin/collectd/files/collectd.confd-r1 | 46 +++
45 app-admin/collectd/files/collectd.initd-r1 | 79 ++++
46 app-admin/collectd/metadata.xml | 204 +++++----
47 8 files changed, 830 insertions(+), 88 deletions(-)
48
49 diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest
50 index 81e7cd7..c44ebaf 100644
51 --- a/app-admin/collectd/Manifest
52 +++ b/app-admin/collectd/Manifest
53 @@ -1,2 +1,3 @@
54 DIST collectd-5.4.1.tar.bz2 1521907 SHA256 75452129f271cb0aad28e57f12a49070618bbb7b6a9d64cf869e8766fa2f66e0 SHA512 96289f52d3d1da55c862ae9ee2f57972682d7eab87387e97efa41fb5197599e097abd71aed2fe014e26af37c9ae98471e06dd181c725849976242642ce5c9492 WHIRLPOOL 2ed85b9d6d00c4e7dc6af236b637e282f17c6c0b20c1ba3da9c12ea85c5fdea1add2e29165874c7e9620852e422282d489436a4e245b161902f8926185edec16
55 DIST collectd-5.5.0.tar.bz2 1824495 SHA256 847684cf5c10de1dc34145078af3fcf6e0d168ba98c14f1343b1062a4b569e88 SHA512 d2c2840f681c10345e02ad8df0f7c581dcb45bee276589fcd96b3dadd281a79ebb3b9a34a186242ef41285dde7fc505432376138ff4f72c4f60f1b840e640017 WHIRLPOOL 6223ca363984ab3777ca89e2cd5011f059b6ca7f5c66c5e7325d3155ce38ef2829caced3ad27e4d5016c5fdba59bb21b9b47d840ea0c4d164c3674b6ee5062ac
56 +DIST collectd-5.5.1.tar.bz2 1797852 SHA256 f9c5d526e1f0429a7db1ccd90bdf9e23923a2fd43b7285cfda8f0341e5c0bc3f SHA512 1935809571b8f0e0870399385312a5687f441d11e08a0c7d1337384b3790c3436ba84f89226aad979584045cc13bdf88f1350a0f49c94bcd0dbcf12ae4704dae WHIRLPOOL 3efeeb9262344a8a1c0aa068e64f5d45ff536d1fc1399b4599143a6e47740d5a33aedf482dbf9110cc5f0345d624fbe71ff00fc6f7afeee891326617f7979e41
57
58 diff --git a/app-admin/collectd/collectd-5.5.1.ebuild b/app-admin/collectd/collectd-5.5.1.ebuild
59 new file mode 100644
60 index 0000000..63ded29
61 --- /dev/null
62 +++ b/app-admin/collectd/collectd-5.5.1.ebuild
63 @@ -0,0 +1,460 @@
64 +# Copyright 1999-2016 Gentoo Foundation
65 +# Distributed under the terms of the GNU General Public License v2
66 +# $Id$
67 +
68 +EAPI="6"
69 +
70 +PYTHON_COMPAT=( python{2_7,3_4,3_5} )
71 +
72 +inherit autotools fcaps java-pkg-opt-2 linux-info multilib perl-functions python-single-r1 systemd user
73 +
74 +DESCRIPTION="Collects system statistics and provides mechanisms to store the values"
75 +
76 +HOMEPAGE="http://collectd.org/"
77 +SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2"
78 +
79 +LICENSE="GPL-2"
80 +SLOT="0"
81 +KEYWORDS="~amd64 ~x86"
82 +IUSE="contrib debug java kernel_Darwin kernel_FreeBSD kernel_linux perl selinux static-libs"
83 +
84 +# The plugin lists have to follow here since they extend IUSE
85 +
86 +# Plugins that don't build (e.g. dependencies not in Gentoo)
87 +# apple_sensors: Requires libIOKit
88 +# aquaero: Requires aerotools-ng/libaquaero5
89 +# barometer: Requires libi2c (i2c_smbus_read_i2c_block_data)
90 +# lpar: Requires libperfstat (AIX only)
91 +# mic: Requires Intel Many Integrated Core Architecture API
92 +# (part of Intel's Xeon Phi software)
93 +# netapp: Requires libnetapp (http://communities.netapp.com/docs/DOC-1110)
94 +# pf: Requires BSD packet filter
95 +# pinba: Requires MySQL Pinba engine (http://pinba.org/)
96 +# tape: Requires libkstat (Solaris only)
97 +# write_kafka: Requires librdkafka
98 +# write_mongodb: https://github.com/collectd/collectd/issues/492
99 +# xmms: Requires libxmms (v1)
100 +COLLECTD_IMPOSSIBLE_PLUGINS="apple_sensors aquaero mic netapp pf pinba tape write_kafka write_mongodb xmms"
101 +
102 +# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS
103 +COLLECTD_TESTED_PLUGINS="amqp aggregation apache apcups ascent battery bind ceph
104 + cgroups conntrack contextswitch cpu cpufreq csv curl curl_json curl_xml dbi df
105 + disk dns drbd email entropy ethstat exec fhcount filecount fscache genericjmx
106 + gmond hddtemp interface ipc ipmi iptables ipvs irq java load logfile log_logstash
107 + lvm madwifi match_empty_counter match_hashed match_regex match_timediff match_value
108 + mbmon md memcachec memcached memory modbus multimeter mysql netlink network network
109 + nfs nginx notify_desktop notify_email ntpd numa nut olsrd onewire openldap openvpn
110 + oracle perl ping postgresql powerdns processes protocols python python redis
111 + routeros rrdcached rrdtool sensors serial sigrok smart snmp statsd swap syslog
112 + table tail tail_csv target_notification target_replace target_scale target_set
113 + tcpconns teamspeak2 ted thermal threshold tokyotyrant turbostat unixsock uptime
114 + users uuid varnish virt vmem vserver wireless write_graphite write_http
115 + write_log write_redis write_riemann write_sensu write_tsdb zfs_arc zookeeper"
116 +
117 +COLLECTD_DISABLED_PLUGINS="${COLLECTD_IMPOSSIBLE_PLUGINS}"
118 +
119 +COLLECTD_ALL_PLUGINS=${COLLECTD_TESTED_PLUGINS}
120 +
121 +for plugin in ${COLLECTD_ALL_PLUGINS}; do
122 + IUSE="${IUSE} collectd_plugins_${plugin}"
123 +done
124 +unset plugin
125 +
126 +# Now come the dependencies.
127 +
128 +COMMON_DEPEND="
129 + dev-libs/libgcrypt:=
130 + sys-devel/libtool
131 + perl? ( dev-lang/perl:=[ithreads] )
132 + collectd_plugins_amqp? ( net-libs/rabbitmq-c )
133 + collectd_plugins_apache? ( net-misc/curl )
134 + collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 )
135 + collectd_plugins_bind? ( dev-libs/libxml2:= )
136 + collectd_plugins_ceph? ( dev-libs/yajl )
137 + collectd_plugins_curl? ( net-misc/curl )
138 + collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl )
139 + collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2:= )
140 + collectd_plugins_dbi? ( dev-db/libdbi )
141 + collectd_plugins_disk? ( virtual/udev )
142 + collectd_plugins_dns? ( net-libs/libpcap )
143 + collectd_plugins_genericjmx? ( virtual/jre:= dev-java/java-config-wrapper )
144 + collectd_plugins_gmond? ( sys-cluster/ganglia )
145 + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 )
146 + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.13:= )
147 + collectd_plugins_java? ( virtual/jre:= dev-java/java-config-wrapper )
148 + collectd_plugins_log_logstash? ( dev-libs/yajl )
149 + collectd_plugins_lvm? ( sys-fs/lvm2 )
150 + collectd_plugins_memcachec? ( dev-libs/libmemcached )
151 + collectd_plugins_modbus? ( dev-libs/libmodbus )
152 + collectd_plugins_mysql? ( >=virtual/mysql-5.0 )
153 + collectd_plugins_netlink? ( net-libs/libmnl )
154 + collectd_plugins_nginx? ( net-misc/curl )
155 + collectd_plugins_notify_desktop? ( x11-libs/libnotify )
156 + collectd_plugins_notify_email? ( net-libs/libesmtp )
157 + collectd_plugins_nut? ( sys-power/nut )
158 + collectd_plugins_openldap? ( net-nds/openldap )
159 + collectd_plugins_onewire? ( >=sys-fs/owfs-3.1 )
160 + collectd_plugins_oracle? ( dev-db/oracle-instantclient-basic )
161 + collectd_plugins_perl? ( dev-lang/perl:=[ithreads] )
162 + collectd_plugins_ping? ( net-libs/liboping )
163 + collectd_plugins_postgresql? ( dev-db/postgresql:= )
164 + collectd_plugins_python? ( ${PYTHON_DEPS} )
165 + collectd_plugins_redis? ( dev-libs/hiredis:= )
166 + collectd_plugins_routeros? ( net-libs/librouteros )
167 + collectd_plugins_rrdcached? ( net-analyzer/rrdtool )
168 + collectd_plugins_rrdtool? ( net-analyzer/rrdtool )
169 + collectd_plugins_sensors? ( sys-apps/lm_sensors )
170 + collectd_plugins_sigrok? ( sci-libs/libsigrok )
171 + collectd_plugins_smart? ( virtual/udev dev-libs/libatasmart )
172 + collectd_plugins_snmp? ( net-analyzer/net-snmp )
173 + collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant )
174 + collectd_plugins_varnish? ( www-servers/varnish )
175 + collectd_plugins_virt? ( app-emulation/libvirt dev-libs/libxml2:= )
176 + collectd_plugins_write_http? ( net-misc/curl )
177 + collectd_plugins_write_redis? ( dev-libs/hiredis:= )
178 + collectd_plugins_write_riemann? ( dev-libs/protobuf-c )
179 +
180 + kernel_FreeBSD? (
181 + collectd_plugins_disk? ( sys-libs/libstatgrab:= )
182 + collectd_plugins_interface? ( sys-libs/libstatgrab:= )
183 + collectd_plugins_load? ( sys-libs/libstatgrab:= )
184 + collectd_plugins_memory? ( sys-libs/libstatgrab:= )
185 + collectd_plugins_swap? ( sys-libs/libstatgrab:= )
186 + collectd_plugins_users? ( sys-libs/libstatgrab:= )
187 + )"
188 +
189 +DEPEND="${COMMON_DEPEND}
190 + collectd_plugins_genericjmx? ( >=virtual/jdk-1.6 )
191 + collectd_plugins_java? ( >=virtual/jdk-1.6 )
192 + virtual/pkgconfig"
193 +
194 +RDEPEND="${COMMON_DEPEND}
195 + collectd_plugins_syslog? ( virtual/logger )
196 + selinux? ( sec-policy/selinux-collectd )"
197 +
198 +REQUIRED_USE="
199 + collectd_plugins_genericjmx? ( java )
200 + collectd_plugins_java? ( java )
201 + collectd_plugins_python? ( ${PYTHON_REQUIRED_USE} )"
202 +
203 +PATCHES=(
204 + "${FILESDIR}/${PN}-4.10.3"-werror.patch
205 + "${FILESDIR}/${PN}-5.5.1"-{libocci,lt,nohal}.patch
206 +)
207 +
208 +# @FUNCTION: collectd_plugin_kernel_linux
209 +# @DESCRIPTION:
210 +# USAGE: <plugin name> <kernel_options> <severity>
211 +# kernel_options is a list of kernel configurations options; the check tests whether at least
212 +# one of them is enabled. If no, depending on the third argument an elog, ewarn, or eerror message
213 +# is emitted.
214 +collectd_plugin_kernel_linux() {
215 + local multi_opt opt
216 + if has ${1} ${COLLECTD_ALL_PLUGINS}; then
217 + if use collectd_plugins_${1}; then
218 + for opt in ${2}; do
219 + if linux_chkconfig_present ${opt}; then
220 + return 0;
221 + fi
222 + done
223 + multi_opt=${2//\ /\ or\ }
224 + case ${3} in
225 + (info)
226 + elog "The ${1} plugin can use kernel features that are disabled now; enable ${multi_opt} in your kernel"
227 + ;;
228 + (warn)
229 + ewarn "The ${1} plugin uses kernel features that are disabled now; enable ${multi_opt} in your kernel"
230 + ;;
231 + (error)
232 + eerror "The ${1} plugin needs kernel features that are disabled now; enable ${multi_opt} in your kernel"
233 + ;;
234 + (*)
235 + die "function collectd_plugin_kernel_linux called with invalid third argument"
236 + ;;
237 + esac
238 + fi
239 + fi
240 +}
241 +
242 +collectd_linux_kernel_checks() {
243 + if ! linux_chkconfig_present PROC_FS; then
244 + ewarn "/proc file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable PROC_FS in your kernel"
245 + fi
246 +
247 + if ! linux_chkconfig_present SYSFS; then
248 + ewarn "/sys file system support is disabled, many plugins will not be able to read any statistics from your system unless you enable SYSFS in your kernel"
249 + fi
250 +
251 + # battery.c: /proc/pmu/battery_%i
252 + # battery.c: /proc/acpi/battery
253 + collectd_plugin_kernel_linux battery ACPI_BATTERY warn
254 +
255 + # cgroups.c: /sys/fs/cgroup/
256 + collectd_plugin_kernel_linux cgroups CONFIG_CGROUPS warn
257 +
258 + # cpufreq.c: /sys/devices/system/cpu/cpu%d/cpufreq/
259 + collectd_plugin_kernel_linux cpufreq SYSFS warn
260 + collectd_plugin_kernel_linux cpufreq CPU_FREQ_STAT warn
261 +
262 + # drbd.c: /proc/drbd
263 + collectd_plugin_kernel_linux drbd BLK_DEV_DRBD warn
264 +
265 + # conntrack.c: /proc/sys/net/netfilter/*
266 + collectd_plugin_kernel_linux conntrack NETFILTER warn
267 +
268 + # fscache.c: /proc/fs/fscache/stats
269 + collectd_plugin_kernel_linux fscache FSCACHE warn
270 +
271 + # nfs.c: /proc/net/rpc/nfs
272 + # nfs.c: /proc/net/rpc/nfsd
273 + collectd_plugin_kernel_linux nfs NFS_COMMON warn
274 +
275 + # serial.c: /proc/tty/driver/serial
276 + # serial.c: /proc/tty/driver/ttyS
277 + collectd_plugin_kernel_linux serial SERIAL_CORE warn
278 +
279 + # swap.c: /proc/meminfo
280 + collectd_plugin_kernel_linux swap SWAP warn
281 +
282 + # thermal.c: /proc/acpi/thermal_zone
283 + # thermal.c: /sys/class/thermal
284 + collectd_plugin_kernel_linux thermal ACPI_THERMAL warn
285 +
286 + # turbostat.c: /dev/cpu/%d/msr
287 + collectd_plugin_kernel_linux turbostat X86_MSR warn
288 +
289 + # vmem.c: /proc/vmstat
290 + collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn
291 +
292 + # vserver.c: /proc/virtual
293 + collectd_plugin_kernel_linux vserver VSERVER warn
294 +
295 + # uuid.c: /sys/hypervisor/uuid
296 + collectd_plugin_kernel_linux uuid SYSFS info
297 +
298 + # wireless.c: /proc/net/wireless
299 + collectd_plugin_kernel_linux wireless "WIRELESS MAC80211 IEEE80211" warn
300 +
301 + # zfs_arc.c: /proc/spl/kstat/zfs/arcstats
302 + collectd_plugin_kernel_linux zfs_arc "SPL ZFS" warn
303 +}
304 +
305 +pkg_setup() {
306 + if use kernel_linux; then
307 + linux-info_pkg_setup
308 +
309 + if linux_config_exists; then
310 + einfo "Checking your linux kernel configuration:"
311 + collectd_linux_kernel_checks
312 + else
313 + elog "Cannot find a linux kernel configuration. Continuing anyway."
314 + fi
315 + fi
316 +
317 + if use collectd_plugins_java || use collectd_plugins_genericjmx; then
318 + java-pkg-opt-2_pkg_setup
319 + fi
320 +
321 + use collectd_plugins_python && python-single-r1_pkg_setup
322 +
323 + enewgroup collectd
324 + enewuser collectd -1 -1 /var/lib/collectd collectd
325 +}
326 +
327 +src_prepare() {
328 + default
329 +
330 + # There's some strange prefix handling in the default config file, resulting in
331 + # paths like "/usr/var/..."
332 + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die
333 +
334 + sed -i -e "s:/etc/collectd/collectd.conf:/etc/collectd.conf:g" contrib/collectd.service || die
335 +
336 + # fix installdirs for perl, bug 444360
337 + sed -i -e 's/INSTALL_BASE=$(DESTDIR)$(prefix) //' bindings/Makefile.am || die
338 +
339 + if use collectd_plugins_java || use collectd_plugins_genericjmx; then
340 + # Set javac -source and -target flags according to (R)DEPEND.
341 + sed -i -e "s/\$(JAVAC)/\0 $(java-pkg_javac-args)/g" bindings/java/Makefile.am || die
342 + fi
343 +
344 + ebegin "Removing bundled libltdl"
345 + rm -r libltdl || die
346 + eend 0
347 +
348 + eautoreconf
349 +}
350 +
351 +src_configure() {
352 + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here
353 + # should work independent of the operating system.
354 +
355 + local linux_plugins="barometer battery cpu cpufreq disk drbd entropy
356 + ethstat interface iptables ipvs irq ipc load memory md netlink nfs
357 + numa processes serial swap tcpconns thermal turbostat users vmem
358 + wireless zfc_arc"
359 +
360 + local need_libstatgrab=0
361 + local libstatgrab_plugins="cpu disk interface load memory swap users"
362 + local bsd_plugins="cpu tcpconns ${libstatgrab_plugins} zfc_arc"
363 +
364 + local darwin_plugins="apple_sensors battery cpu disk interface memory processes tcpconns"
365 +
366 + local osdependent_plugins="${linux_plugins} ${bsd_plugins} ${darwin_plugins}"
367 + local myos_plugins=""
368 + if use kernel_linux; then
369 + einfo "Enabling Linux plugins."
370 + myos_plugins=${linux_plugins}
371 + elif use kernel_FreeBSD; then
372 + einfo "Enabling FreeBSD plugins."
373 + myos_plugins=${bsd_plugins}
374 + elif use kernel_Darwin; then
375 + einfo "Enabling Darwin plugins."
376 + myos_plugins=${darwin_plugins}
377 + fi
378 +
379 + # Do we debug?
380 + local myconf="$(use_enable debug)"
381 +
382 + local plugin
383 +
384 + # Disable what needs to be disabled.
385 + for plugin in ${COLLECTD_DISABLED_PLUGINS}; do
386 + myconf+=" --disable-${plugin}"
387 + done
388 +
389 + # Set enable/disable for each single plugin.
390 + for plugin in ${COLLECTD_ALL_PLUGINS}; do
391 + if has ${plugin} ${osdependent_plugins}; then
392 + # plugin is os-dependent ...
393 + if has ${plugin} ${myos_plugins}; then
394 + # ... and available in this os
395 + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
396 + # ... must we link against libstatgrab? Bug #541518
397 + if use kernel_FreeBSD && has ${plugin} ${libstatgrab_plugins}; then
398 + einfo "We must link against libstatgrab due to plugin \"${plugin}\" ..."
399 + need_libstatgrab=1
400 + fi
401 + else
402 + # ... and NOT available in this os
403 + if use collectd_plugins_${plugin}; then
404 + ewarn "You try to enable the ${plugin} plugin, but it is not available for this"
405 + ewarn "kernel. Disabling it automatically."
406 + fi
407 + myconf+=" --disable-${plugin}"
408 + fi
409 + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then
410 + if use collectd_plugins_perl && ! use perl; then
411 + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag"
412 + myconf+= --disable-perl
413 + else
414 + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
415 + fi
416 + else
417 + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})"
418 + fi
419 + done
420 +
421 + if [ "${need_libstatgrab}" -eq 1 ]; then
422 + myconf+=" --with-libstatgrab"
423 + else
424 + myconf+=" --without-libstatgrab"
425 + fi
426 +
427 + # JAVA_HOME is set by eclasses.
428 + if use collectd_plugins_java || use collectd_plugins_genericjmx; then
429 + myconf+=" --with-java"
430 + fi
431 +
432 + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens.
433 + # lots of libs are only needed for plugins, if they are disabled, also disable the lib
434 + use collectd_plugins_iptables || myconf+=" --with-libiptc=no"
435 + use collectd_plugins_openldap || myconf+=" --with-libldap=no"
436 + use collectd_plugins_redis || use collectd_plugins_write_redis || myconf+=" --with-libhiredis=no"
437 + use collectd_plugins_smart || myconf+=" --with-libatasmart=no"
438 + use collectd_plugins_virt || myconf+=" --with-libvirt=no"
439 +
440 + if use perl; then
441 + myconf+=" --with-perl-bindings=INSTALLDIRS=vendor"
442 + else
443 + myconf+=" --without-perl-bindings"
444 + fi
445 +
446 + # No need for v5upgrade
447 + myconf+=" --disable-target_v5upgrade"
448 +
449 + # Finally, run econf.
450 + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --disable-ltdl-install \
451 + --without-included-ltdl $(use_enable static-libs static) \
452 + --localstatedir=/var ${myconf}
453 +}
454 +
455 +src_install() {
456 + emake DESTDIR="${D%/}" install
457 +
458 + perl_delete_localpod
459 +
460 + find "${ED}"usr/ -name "*.la" -delete || die
461 +
462 + if use collectd_plugins_java || use collectd_plugins_genericjmx; then
463 + java-pkg_regjar "${ED}"usr/share/${PN}/java/*.jar
464 + fi
465 +
466 + fowners root:collectd /etc/collectd.conf
467 + fperms u=rw,g=r,o= /etc/collectd.conf
468 +
469 + dodoc AUTHORS ChangeLog NEWS README TODO
470 +
471 + if use contrib ; then
472 + insinto /usr/share/doc/${PF}
473 + doins -r contrib
474 + fi
475 +
476 + keepdir /var/lib/${PN}
477 + fowners collectd:collectd /var/lib/${PN}
478 +
479 + newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
480 + newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
481 + systemd_dounit "contrib/${PN}.service"
482 +
483 + insinto /etc/logrotate.d
484 + newins "${FILESDIR}/logrotate" collectd
485 +
486 + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/run/collectd/collectd.pid":' "${ED}"etc/collectd.conf || die
487 + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/run/collectd/collectd.socket":' "${ED}"etc/collectd.conf || die
488 + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die
489 + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${ED}"etc/collectd.conf || die
490 +}
491 +
492 +pkg_postinst() {
493 + local caps=()
494 + use collectd_plugins_ping && caps+=('cap_net_raw')
495 + use collectd_plugins_iptables && caps+=('cap_net_admin')
496 + use collectd_plugins_filecount && caps+=('cap_dac_read_search')
497 +
498 + if [ ${#caps[@]} -gt 0 ]; then
499 + local caps_str=$(IFS=","; echo "${caps[*]}")
500 + fcaps ${caps_str} usr/sbin/collectd
501 + elog "Capabilities for ${EROOT}usr/sbin/collectd set to:"
502 + elog " ${caps_str}+ep"
503 + elog
504 + fi
505 +
506 + elog "Note: Collectd is only the collector."
507 + elog " You need to install 'data' sources (applications) locally or"
508 + elog " remotely on your own."
509 +
510 + elog
511 + elog "Collectd is configured to run as unprivileged user by default."
512 + elog "You may want to revisit the configuration."
513 + elog
514 +
515 + if use collectd_plugins_email; then
516 + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin."
517 + fi
518 +
519 + if use contrib; then
520 + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser,"
521 + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed."
522 + fi
523 +}
524
525 diff --git a/app-admin/collectd/files/collectd-5.5.1-libocci.patch b/app-admin/collectd/files/collectd-5.5.1-libocci.patch
526 new file mode 100644
527 index 0000000..e7baaa06
528 --- /dev/null
529 +++ b/app-admin/collectd/files/collectd-5.5.1-libocci.patch
530 @@ -0,0 +1,33 @@
531 +[PATCH 1/3] Link Oracle plug-in against libocci
532 +
533 +Author: Aurelien Minet
534 +X-Gentoo-Bug: 347607
535 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=347607
536 +---
537 + configure.ac | 4 ++--
538 + 1 file changed, 2 insertions(+), 2 deletions(-)
539 +
540 +diff --git a/configure.ac b/configure.ac
541 +index fc1e11c..b977a0a 100644
542 +--- a/configure.ac
543 ++++ b/configure.ac
544 +@@ -3248,14 +3248,14 @@ AC_ARG_WITH(oracle, [AS_HELP_STRING([--with-oracle@<:@=ORACLE_HOME@:>@], [Path t
545 + ])
546 + if test "x$ORACLE_HOME" != "x"
547 + then
548 +- with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public"
549 ++ with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public -locci"
550 +
551 + if test -e "$ORACLE_HOME/lib/ldflags"
552 + then
553 + with_oracle_libs=`cat "$ORACLE_HOME/lib/ldflags"`
554 + fi
555 + #with_oracle_libs="-L$ORACLE_HOME/lib $with_oracle_libs -lclntsh"
556 +- with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh"
557 ++ with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh -locci"
558 + fi
559 + if test "x$with_oracle" = "xyes"
560 + then
561 +--
562 +2.7.1
563 +
564
565 diff --git a/app-admin/collectd/files/collectd-5.5.1-lt.patch b/app-admin/collectd/files/collectd-5.5.1-lt.patch
566 new file mode 100644
567 index 0000000..eff1de8
568 --- /dev/null
569 +++ b/app-admin/collectd/files/collectd-5.5.1-lt.patch
570 @@ -0,0 +1,60 @@
571 +[PATCH 2/3] Remove bundled libltdl
572 +
573 +---
574 + Makefile.am | 6 ------
575 + configure.ac | 5 -----
576 + 2 files changed, 11 deletions(-)
577 +
578 +diff --git a/Makefile.am b/Makefile.am
579 +index b79ea1c..d574601 100644
580 +--- a/Makefile.am
581 ++++ b/Makefile.am
582 +@@ -1,11 +1,5 @@
583 +-ACLOCAL_AMFLAGS = -I libltdl/m4
584 +-
585 + SUBDIRS =
586 +
587 +-if BUILD_INCLUDED_LTDL
588 +-SUBDIRS += libltdl
589 +-endif
590 +-
591 + SUBDIRS += src bindings .
592 +
593 + AM_CPPFLAGS = $(LTDLINCL)
594 +diff --git a/configure.ac b/configure.ac
595 +index b977a0a..78f3bee 100644
596 +--- a/configure.ac
597 ++++ b/configure.ac
598 +@@ -2,7 +2,6 @@ dnl Process this file with autoconf to produce a configure script.
599 + AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)])
600 + AC_CONFIG_SRCDIR(src/)
601 + AC_CONFIG_HEADERS(src/config.h)
602 +-AC_CONFIG_AUX_DIR([libltdl/config])
603 +
604 + dnl older automake's default of ARFLAGS=cru is noisy on newer binutils;
605 + dnl we don't really need the 'u' even in older toolchains. Then there is
606 +@@ -12,7 +11,6 @@ m4_divert_text([DEFAULTS], [: "${ARFLAGS=cr} ${AR_FLAGS=cr}"])
607 + m4_ifdef([LT_PACKAGE_VERSION],
608 + # libtool >= 2.2
609 + [
610 +- LT_CONFIG_LTDL_DIR([libltdl])
611 + LT_INIT([dlopen])
612 + LTDL_INIT([convenience])
613 + AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.])
614 +@@ -24,13 +22,10 @@ m4_ifdef([LT_PACKAGE_VERSION],
615 + AC_SUBST(LTDLINCL)
616 + AC_SUBST(LIBLTDL)
617 + AC_LIBTOOL_DLOPEN
618 +- AC_CONFIG_SUBDIRS(libltdl)
619 + AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.])
620 + ]
621 + )
622 +
623 +-AM_CONDITIONAL([BUILD_INCLUDED_LTDL], [test "x$LTDLDEPS" != "x"])
624 +-
625 + AM_INIT_AUTOMAKE([tar-pax dist-bzip2 foreign])
626 + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
627 + AC_LANG(C)
628 +--
629 +2.7.1
630 +
631
632 diff --git a/app-admin/collectd/files/collectd-5.5.1-nohal.patch b/app-admin/collectd/files/collectd-5.5.1-nohal.patch
633 new file mode 100644
634 index 0000000..fcdebb5
635 --- /dev/null
636 +++ b/app-admin/collectd/files/collectd-5.5.1-nohal.patch
637 @@ -0,0 +1,35 @@
638 +[PATCH 3/3] Remove libhal dependency
639 +
640 +X-Gentoo-Bug: 353839
641 +X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=353839
642 +---
643 + configure.ac | 13 +------------
644 + 1 file changed, 1 insertion(+), 12 deletions(-)
645 +
646 +diff --git a/configure.ac b/configure.ac
647 +index 1c85964..cf38159 100644
648 +--- a/configure.ac
649 ++++ b/configure.ac
650 +@@ -1500,18 +1500,7 @@ AC_CHECK_LIB(resolv, res_search,
651 + AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes")
652 +
653 + dnl Check for HAL (hardware abstraction library)
654 +-with_libhal="yes"
655 +-AC_CHECK_LIB(hal,libhal_device_property_exists,
656 +- [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])],
657 +- [with_libhal="no"])
658 +-if test "x$with_libhal" = "xyes"; then
659 +- if test "x$PKG_CONFIG" != "x"; then
660 +- BUILD_WITH_LIBHAL_CFLAGS="`$PKG_CONFIG --cflags hal`"
661 +- BUILD_WITH_LIBHAL_LIBS="`$PKG_CONFIG --libs hal`"
662 +- AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS)
663 +- AC_SUBST(BUILD_WITH_LIBHAL_LIBS)
664 +- fi
665 +-fi
666 ++with_libhal="no"
667 +
668 + # --with-libpthread {{{
669 + AC_ARG_WITH(libpthread, [AS_HELP_STRING([--with-libpthread=@<:@=PREFIX@:>@], [Path to libpthread.])],
670 +--
671 +2.7.1
672 +
673
674 diff --git a/app-admin/collectd/files/collectd.confd-r1 b/app-admin/collectd/files/collectd.confd-r1
675 new file mode 100644
676 index 0000000..2633ab0
677 --- /dev/null
678 +++ b/app-admin/collectd/files/collectd.confd-r1
679 @@ -0,0 +1,46 @@
680 +# Distributed under the terms of the GNU General Public License v2
681 +# $Id$
682 +
683 +# Nice value used to launch collectd, to change priority of the process. As
684 +# you usually we want to run it in background, a default of 5 is used.
685 +#
686 +#COLLECTD_NICELEVEL=5
687 +
688 +# Location of configuration file. Modify if you don't like the standard
689 +# one.
690 +#
691 +#COLLECTD_CONFIGFILE="/etc/collectd.conf"
692 +
693 +# File used to store the PID file. Usually you won't need to touch it.
694 +#
695 +#COLLECTD_PIDFILE="/run/collectd/collectd.pid"
696 +
697 +# User to run collectd as (default is collectd, change to root or give
698 +# collectd user appropriate privileges if you use one of the plugins that
699 +# require it, as e.g. ping or iptables plugins)
700 +#
701 +#COLLECTD_USER="collectd"
702 +
703 +# The group is only important if you are using collectd's UNIX socket
704 +# in the default location (/run/collectd) because we will chown the
705 +# default location to COLLECTD_USER:COLLECTD_GROUP. The default value
706 +# is "collectd".
707 +#COLLECTD_GROUP="collectd"
708 +
709 +# You can use this configuration option to pass additional options to the
710 +# start-stop-daemon, see start-stop-daemon(8) for more details.
711 +# Per default we wait 1000ms after we have started the service to ensure
712 +# that the daemon is really up and running.
713 +#COLLECTD_SSDARGS="--wait 1000"
714 +
715 +# The termination timeout (start-stop-daemon parameter "retry") ensures
716 +# that the service will be terminated within a given time (25 + 5 seconds
717 +# per default) when you are stopping the service.
718 +#COLLECTD_TERMTIMEOUT="TERM/25/KILL/5"
719 +
720 +# Options to collectd
721 +# See collectd(8) for more details
722 +# Notes:
723 +# * Do not specify another PIDFILE but use the variable above to change the location
724 +# * Do not specify another CONFIGFILE but use the variable above to change the location
725 +#COLLECTD_OPTS=""
726
727 diff --git a/app-admin/collectd/files/collectd.initd-r1 b/app-admin/collectd/files/collectd.initd-r1
728 new file mode 100644
729 index 0000000..a90ec50
730 --- /dev/null
731 +++ b/app-admin/collectd/files/collectd.initd-r1
732 @@ -0,0 +1,79 @@
733 +#!/sbin/openrc-run
734 +# Copyright 1999-2016 Gentoo Foundation
735 +# Distributed under the terms of the GNU General Public License v2
736 +# $Id$
737 +
738 +COLLECTD_CONFIGFILE=${COLLECTD_CONFIGFILE:-"/etc/collectd.conf"}
739 +COLLECTD_PIDFILE=${COLLECTD_PIDFILE:-"/run/collectd/collectd.pid"}
740 +COLLECTD_NICELEVEL=${COLLECTD_NICELEVEL:-5}
741 +COLLECTD_USER=${COLLECTD_USER:-"collectd"}
742 +COLLECTD_GROUP=${COLLECTD_GROUP:-"collectd"}
743 +COLLECTD_SSDARGS=${COLLECTD_SSDARGS:-"--wait 1000"}
744 +COLLECTD_TERMTIMEOUT=${COLLECTD_TERMTIMEOUT:-"TERM/25/KILL/5"}
745 +COLLECTD_OPTS=${COLLECTD_OPTS:-""}
746 +
747 +command="/usr/sbin/collectd"
748 +command_args="${COLLECTD_OPTS} -C \"${COLLECTD_CONFIGFILE}\" -P \"${COLLECTD_PIDFILE}\""
749 +start_stop_daemon_args="${COLLECTD_SSDARGS} --nice ${COLLECTD_NICELEVEL} --user ${COLLECTD_USER}:${COLLECTD_GROUP}"
750 +pidfile="${COLLECTD_PIDFILE}"
751 +retry="${COLLECTD_TERMTIMEOUT}"
752 +
753 +extra_commands="configtest"
754 +description_configtest="Run collectd's internal config check."
755 +
756 +required_files="\"${COLLECTD_CONFIGFILE}\""
757 +
758 +depend() {
759 + use dns
760 +}
761 +
762 +_checkconfig() {
763 + if [ $(eval sed '/^$\|^#/d' \"${COLLECTD_CONFIGFILE}\" | grep --count 'LoadPlugin[[:space:]]\+oracle') -ge 1 ] ; then
764 + if [ -e /etc/env.d/50oracle-instantclient-basic ] ; then
765 + . /etc/env.d/50oracle-instantclient-basic
766 + export ORACLE_HOME
767 + export TNS_ADMIN
768 + else
769 + ewarn "Unable to set Oracle environment, Oracle plugin wont work"
770 + fi
771 + fi
772 +
773 + local test_command="${command} -t -C \"${COLLECTD_CONFIGFILE}\""
774 +
775 + eval ${test_command} 1>/dev/null 2>&1
776 + ret=$?
777 + if [ $ret -ne 0 ]; then
778 + eerror "${SVCNAME} has detected an error in your configuration:"
779 + eval ${test_command}
780 + fi
781 +
782 + return $ret
783 +}
784 +
785 +configtest() {
786 + ebegin "Checking ${SVCNAME} configuration"
787 + _checkconfig
788 + eend $?
789 +}
790 +
791 +start_pre() {
792 + if [ "${RC_CMD}" != "restart" ]; then
793 + configtest || return 1
794 + fi
795 +
796 + checkpath --directory --mode 0770 --owner ${COLLECTD_USER}:${COLLECTD_GROUP} "$(dirname "${COLLECTD_PIDFILE}")"
797 +}
798 +
799 +stop_pre() {
800 + if [ "${RC_CMD}" = "restart" ]; then
801 + configtest || return 1
802 + fi
803 +}
804 +
805 +stop_post() {
806 + if [ -f "${COLLECTD_PIDFILE}" ]; then
807 + vebegin "Removing stale PID file"
808 + rm --force "${COLLECTD_PIDFILE}"
809 + veend $?
810 + fi
811 +}
812
813 diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml
814 index 2b9b9b4..91a0680 100644
815 --- a/app-admin/collectd/metadata.xml
816 +++ b/app-admin/collectd/metadata.xml
817 @@ -1,133 +1,161 @@
818 <?xml version="1.0" encoding="UTF-8"?>
819 <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
820 <pkgmetadata>
821 - <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>
822 <maintainer type="person">
823 <email>bugs@××××××××××.nu</email>
824 <name>Johan Bergström</name>
825 <description>Proxied Maintainer</description>
826 </maintainer>
827 + <maintainer type="person">
828 + <email>whissi@××××××.de</email>
829 + <name>Thomas D.</name>
830 + <description>Proxied Maintainer</description>
831 + </maintainer>
832 <maintainer type="project">
833 <email>proxy-maint@g.o</email>
834 <name>Proxy Maintainers</name>
835 </maintainer>
836 + <longdescription lang="en">
837 + Collectd gathers statistics about the system it is running on and stores this
838 + information. Those statistics can then be used to find current performance
839 + bottlenecks (i.e. performance analysis) and predict future system load (i.e.
840 + capacity planning). Or if you just want pretty graphs of your private server
841 + and are fed up with some homegrown solution you're at the right place.
842 + </longdescription>
843 + <upstream>
844 + <bugs-to>https://github.com/collectd/collectd/issues</bugs-to>
845 + <doc lang="en">https://collectd.org/documentation.shtml</doc>
846 + <remote-id type="github">collectd/collectd</remote-id>
847 + </upstream>
848 <use>
849 - <flag name="collectd_plugins_aggregation">Build the aggregation plugin (aggregate multiplte values into a single value)</flag>
850 - <flag name="collectd_plugins_apache">Build the apache input plugin (transferred bytes, handled requests, detailed scoreboard statistics)</flag>
851 - <flag name="collectd_plugins_apcups">Build the apcups input plugin (UPS charge, load, input/output/battery voltage, etc.)</flag>
852 - <flag name="collectd_plugins_ascent">Build the ascent input plugin (statistics about a free server for World of Warcraft)</flag>
853 - <flag name="collectd_plugins_battery">Build the battery input plugin (charge, current and voltage of ACPI and PMU based laptop batteries)</flag>
854 - <flag name="collectd_plugins_bind">Build the bind input plugin (name server and resolver statistics)</flag>
855 - <flag name="collectd_plugins_ceph">Build the plugin for <pkg>sys-cluster/ceph</pkg></flag>
856 - <flag name="collectd_plugins_cgroups">Build the cgroups CPU accounting collection plugin</flag>
857 - <flag name="collectd_plugins_conntrack">Build the conntrack input plugin (number of nf_conntrack entries)</flag>
858 - <flag name="collectd_plugins_contextswitch">Build the contextswitch input plugin (number of context switches done by the operating system)</flag>
859 - <flag name="collectd_plugins_cpu">Build the cpu input plugin (time spent in the system, user, nice, idle, and related states)</flag>
860 - <flag name="collectd_plugins_cpufreq">Build the cpufreq input plugin (CPU frequency, for laptops with speedstep or similar)</flag>
861 - <flag name="collectd_plugins_csv">Build the csv output plugin (write to comma separated values (CSV) files)</flag>
862 - <flag name="collectd_plugins_curl">Build the curl input plugin (parse statistics from websites using regular expressions)</flag>
863 - <flag name="collectd_plugins_curl_json">Build the curl_json input plugin (get json data via curl and parse it)</flag>
864 - <flag name="collectd_plugins_curl_xml">Build the curl_xml input plugin (get xml data via curl and parse it)</flag>
865 - <flag name="collectd_plugins_dbi">Build the dbi input plugin (execute SQL statements on databases and interpret the reply)</flag>
866 - <flag name="collectd_plugins_df">Build the df input plugin (mountpoint usage)</flag>
867 - <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>
868 - <flag name="collectd_plugins_dns">Build the dns input plugin (collects statistics of your DNS traffic on port udp/53)</flag>
869 - <flag name="collectd_plugins_drbd">Build the plugin for DRBD statistics</flag>
870 + <flag name="collectd_plugins_aggregation">Build the aggregation plugin (aggregates multiplte values into a single value)</flag>
871 + <flag name="collectd_plugins_amqp">Build the AMQP output plugin (transmits or receives values collected by collectd via the Advanced Message Queuing Protocol (AMQP))</flag>
872 + <flag name="collectd_plugins_apache">Build the apache input plugin (collects statistics from Apache's mod_status module)</flag>
873 + <flag name="collectd_plugins_apcups">Build the apcups input plugin (reads various statistics about a connected uninterruptible power supply (UPS))</flag>
874 + <flag name="collectd_plugins_ascent">Build the ascent input plugin (reads and parses the statistics page of Ascent)</flag>
875 + <flag name="collectd_plugins_barometer">Build the barometer input plugin (reads sensor data from various Freescale and Bosch digital barometers)</flag>
876 + <flag name="collectd_plugins_battery">Build the battery input plugin (collects the battery's charge, the drawn current and the battery's voltage)</flag>
877 + <flag name="collectd_plugins_bind">Build the bind input plugin (collects statistics from bind instances)</flag>
878 + <flag name="collectd_plugins_ceph">Build the Ceph input plugin (collects statistics from the Ceph distributed storage system)</flag>
879 + <flag name="collectd_plugins_cgroups">Build the cgroups input plugin (collects CPU accounting information for processes in a cgroup)</flag>
880 + <flag name="collectd_plugins_conntrack">Build the conntrack input plugin (tracks the number of entries in Linux's connection tracking table)</flag>
881 + <flag name="collectd_plugins_contextswitch">Build the contextswitch input plugin (collects the number of context switches done by the operating system)</flag>
882 + <flag name="collectd_plugins_cpu">Build the cpu input plugin (collects the amount of time spent by the CPU in various states)</flag>
883 + <flag name="collectd_plugins_cpufreq">Build the cpufreq input plugin (collects the current CPU's frequency)</flag>
884 + <flag name="collectd_plugins_csv">Build the csv output plugin (writes to comma separated values (CSV) files)</flag>
885 + <flag name="collectd_plugins_curl">Build the curl input plugin (reads streams using <pkg>net-misc/curl</pkg> and then parses them according to the configuration)</flag>
886 + <flag name="collectd_plugins_curl_json">Build the curl_json input plugin (queries JavaScript Object Notation (JSON) data using <pkg>net-misc/curl</pkg> and parses it according to the user's configuration using <pkg>dev-libs/yajl</pkg>)</flag>
887 + <flag name="collectd_plugins_curl_xml">Build the curl_xml input plugin (reads files using <pkg>net-misc/curl</pkg> and parses it as Extensible Markup Language (XML))</flag>
888 + <flag name="collectd_plugins_dbi">Build the dbi input plugin (executes SQL statements on databases and reads back the result)</flag>
889 + <flag name="collectd_plugins_df">Build the df input plugin (collects file system usage information, i. e. basically how much space on a mounted partition is used and how much is available)</flag>
890 + <flag name="collectd_plugins_disk">Build the disk input plugin (collects performance statistics of disks and, where supported, partitions)</flag>
891 + <flag name="collectd_plugins_dns">Build the dns input plugin (collects statistics of your DNS traffic on port udp/53 using <pkg>net-libs/libpcap</pkg>)</flag>
892 + <flag name="collectd_plugins_drbd">Build the Linux's Distributed Replicated Block Device (DRBD) input plugin (reads Linux's DRBD statistics)</flag>
893 <flag name="collectd_plugins_email">Build the email input plugin (opens a UNIX domain socket and starts accepting connections on that socket)</flag>
894 - <flag name="collectd_plugins_entropy">Build the entropy input plugin (available entropy on a system)</flag>
895 - <flag name="collectd_plugins_ethstat">Build the ethstat input plugin (performance statistics of Linux ethernet cards)</flag>
896 + <flag name="collectd_plugins_entropy">Build the entropy input plugin (collects the available entropy on a system)</flag>
897 + <flag name="collectd_plugins_ethstat">Build the ethstat input plugin (reads performance statistics directly from ethernet cards)</flag>
898 <flag name="collectd_plugins_exec">Build the exec input/output plugin (executes scripts / applications and reads values back)</flag>
899 - <flag name="collectd_plugins_fhcount">Build the plugin for File handles statistics</flag>
900 - <flag name="collectd_plugins_filecount">Build the filecount input plugin (countd the number of files in a directory and all its subdirectories)</flag>
901 - <flag name="collectd_plugins_fscache">Build the fscache input plugin (information about the caching infrastructure for network file-systems etc)</flag>
902 - <flag name="collectd_plugins_gmond">Build the gmond input plugin (receive data from gmond, the client daemon of the Ganglia project)</flag>
903 - <flag name="collectd_plugins_hddtemp">Build the hddtemp input plugin (temperature of hard disks)</flag>
904 - <flag name="collectd_plugins_interface">Build the interface input plugin (information about traffic, packets and errors of interfaces)</flag>
905 - <flag name="collectd_plugins_ipc">Build the plugin for IPC statistics</flag>
906 - <flag name="collectd_plugins_ipmi">Build the ipmi input plugin (read hardware sensors from servers using the Intelligent Platform Management Interface (IPMI))</flag>
907 - <flag name="collectd_plugins_iptables">Build the iptables input plugin (statistics from a ip_tables based packet filter)</flag>
908 - <flag name="collectd_plugins_irq">Build the irq input plugin (number of times each interrupt has been handled by the os)</flag>
909 + <flag name="collectd_plugins_fhcount">Build the file handles input plugin (reports the number of used file handles)</flag>
910 + <flag name="collectd_plugins_filecount">Build the filecount input plugin (counts the number of files in a directory and all its subdirectories)</flag>
911 + <flag name="collectd_plugins_fscache">Build the fscache input plugin (collects information about the file-system based caching infrastructure for network file-systems and other slow media)</flag>
912 + <flag name="collectd_plugins_genericjmx">Build the GenericJMX input plugin (reads Managed Beans (MBeans) from an MBeanServer using JMX input plugin; Requires JAVA)</flag>
913 + <flag name="collectd_plugins_gmond">Build the gmond input plugin (receives data from gmond, the client daemon of the Ganglia project)</flag>
914 + <flag name="collectd_plugins_hddtemp">Build the hddtemp input plugin (collects the temperature of disks from hddtemp daemon)</flag>
915 + <flag name="collectd_plugins_interface">Build the interface input plugin (collects information about the traffic, packets per second and errors of interfaces)</flag>
916 + <flag name="collectd_plugins_ipc">Build the IPC input plugin (collects information related to shared memory)</flag>
917 + <flag name="collectd_plugins_ipmi">Build the ipmi input plugin (reads hardware sensors from servers using the Intelligent Platform Management Interface (IPMI))</flag>
918 + <flag name="collectd_plugins_iptables">Build the iptables input plugin (collects statistics from a ip_tables based packet filter)</flag>
919 + <flag name="collectd_plugins_ipvs">Build the IPVS input plugin (collects statistics from Linux IP Virtual Server)</flag>
920 + <flag name="collectd_plugins_irq">Build the irq input plugin (collects the number of times each interrupt has been handled by the operating system)</flag>
921 <flag name="collectd_plugins_java">Build the java input plugin (embeds a JVM into collectd for writing plugins)</flag>
922 - <flag name="collectd_plugins_libvirt">Build the libvirt input plugin (statistics about virtualized guests on a system)</flag>
923 - <flag name="collectd_plugins_load">Build the load input plugin (system load)</flag>
924 - <flag name="collectd_plugins_log_logstash">Build the plugin for Logstash json_event compatible logging</flag>
925 - <flag name="collectd_plugins_logfile">Build the logfile output plugin (writes log messages to a text file)</flag>
926 - <flag name="collectd_plugins_lvm">Build the LVM input plugin</flag>
927 - <flag name="collectd_plugins_madwifi">Build the madwifi input plugin (information about Atheros wireless LAN chipsets)</flag>
928 + <flag name="collectd_plugins_libvirt">Build the (lib)virt input plugin (collects statistics about virtualized guests on a system)</flag>
929 + <flag name="collectd_plugins_load">Build the load input plugin (collects the system load)</flag>
930 + <flag name="collectd_plugins_logfile">Build the logfile output plugin (receives log messages from collectd and writes them to a text file)</flag>
931 + <flag name="collectd_plugins_log_logstash">Build the Logstash output plugin (writes collectd logs and events as Logstash JSON formatted events)</flag>
932 + <flag name="collectd_plugins_lvm">Build the LVM input plugin (collects the size of logical volumes (LV) and free space inside a volume group (VG) from Linux' Logical Volume Manager (LVM))</flag>
933 + <flag name="collectd_plugins_madwifi">Build the madwifi input plugin (collects information about Atheros wireless LAN chipsets from the MadWifi driver)</flag>
934 <flag name="collectd_plugins_match_empty_counter">Build the match_empty_counter filter plugin</flag>
935 <flag name="collectd_plugins_match_hashed">Build the match_hashed filter plugin</flag>
936 <flag name="collectd_plugins_match_regex">Build the match_regex filter plugin</flag>
937 <flag name="collectd_plugins_match_timediff">Build the match_timediff filter plugin</flag>
938 <flag name="collectd_plugins_match_value">Build the match_value filter plugin</flag>
939 - <flag name="collectd_plugins_mbmon">Build the mbmon input plugin (information from mainboard sensors)</flag>
940 - <flag name="collectd_plugins_md">Build the md input plugin (disk states in Linux md devices)</flag>
941 - <flag name="collectd_plugins_memcachec">Build the memcachec input plugin (connects to a memcached server)</flag>
942 - <flag name="collectd_plugins_memcached">Build the memcached input plugin (connects to a memcached daemon)</flag>
943 - <flag name="collectd_plugins_memory">Build the memory input plugin (physical memory utilization)</flag>
944 + <flag name="collectd_plugins_mbmon">Build the mbmon input plugin (collects information from mainboard sensors)</flag>
945 + <flag name="collectd_plugins_md">Build the md input plugin (reports the number of disks in various states in Linux software RAID devices)</flag>
946 + <flag name="collectd_plugins_memcachec">Build the memcachec input plugin (queries one or more given pages from a memcached instance and parses the returned data according to user specification)</flag>
947 + <flag name="collectd_plugins_memcached">Build the memcached input plugin (collects statistics from memcached daemon)</flag>
948 + <flag name="collectd_plugins_memory">Build the memory input plugin (collects physical memory utilization)</flag>
949 + <flag name="collectd_plugins_modbus">Build the Modbus input plugin (reads register values from a Modbus "slave" via Modbus/TCP)</flag>
950 <flag name="collectd_plugins_multimeter">Build the multimeter input plugin (reads a voltage or current from a multimeter connected to a serial bus)</flag>
951 - <flag name="collectd_plugins_mysql">Build the mysql input plugin (connects to an MySQL-database and issues a SHOW STATUS command)</flag>
952 - <flag name="collectd_plugins_netlink">Build the netlink input plugin (opens a netlink socket to the Linux kernel for getting statistics)</flag>
953 - <flag name="collectd_plugins_network">Build the network input/output plugin (communicates with other instances of collectd)</flag>
954 - <flag name="collectd_plugins_nfs">Build the nfs input plugin (usage of the Network File System)</flag>
955 - <flag name="collectd_plugins_nginx">Build the nginx input plugin (number of requests handled by the nginx daemon)</flag>
956 - <flag name="collectd_plugins_notify_desktop">Build the notify_desktop output plugin (uses libnotify to display notifications to the user)</flag>
957 - <flag name="collectd_plugins_notify_email">Build the notify_email output plugin (uses libESMTP to send notifications to a configured email address)</flag>
958 - <flag name="collectd_plugins_ntpd">Build the ntpd input plugin (queries an NTP server)</flag>
959 - <flag name="collectd_plugins_numa">Build the numa input plugin (statistics of the Linux Non-Uniform Memory Access (NUMA) subsystem)</flag>
960 + <flag name="collectd_plugins_mysql">Build the mysql input plugin (collects values from 'SHOW STATUS' command of a MySQL server)</flag>
961 + <flag name="collectd_plugins_netlink">Build the netlink input plugin (collects statistics for interfaces, qdiscs, classes and filters using netlink socket)</flag>
962 + <flag name="collectd_plugins_network">Build the network input/output plugin (send values to other and/or receive values from from other collectd instances)</flag>
963 + <flag name="collectd_plugins_nfs">Build the nfs input plugin (collects information about the usage of the Network File System (NFS))</flag>
964 + <flag name="collectd_plugins_nginx">Build the nginx input plugin (collects number of requests handled and the number of current connections by connection state by the nginx daemon)</flag>
965 + <flag name="collectd_plugins_notify_desktop">Build the notify_desktop output plugin (uses <pkg>x11-libs/libnotify</pkg> to display notifications to the user)</flag>
966 + <flag name="collectd_plugins_notify_email">Build the notify_email output plugin (uses <pkg>net-libs/libesmtp</pkg> to send notifications to a configured email address)</flag>
967 + <flag name="collectd_plugins_ntpd">Build the ntpd input plugin (collects statistics from a NTP server)</flag>
968 + <flag name="collectd_plugins_numa">Build the numa input plugin (collects statistics of the Linux Non-Uniform Memory Access (NUMA) subsystem)</flag>
969 <flag name="collectd_plugins_nut">Build the nut input plugin (collects UPS statistics using the Network UPS Tools)</flag>
970 <flag name="collectd_plugins_olsrd">Build the olsrd input plugin (reads information about the Optimized Link State Routing daemon)</flag>
971 - <flag name="collectd_plugins_onewire">Build the onewire input plugin (collects temperature information from sensors)</flag>
972 - <flag name="collectd_plugins_openldap">Build the plugin for OpenLDAP statistics</flag>
973 + <flag name="collectd_plugins_onewire">Build the onewire (1-Wire) input plugin (collects temperature information from sensors)</flag>
974 + <flag name="collectd_plugins_openldap">Build the OpenLDAP input plugin (reads monitoring information from OpenLDAP's cn=Monitor subtree)</flag>
975 <flag name="collectd_plugins_openvpn">Build the openvpn input plugin (reads the status file printed by OpenVPN)</flag>
976 - <flag name="collectd_plugins_oracle">Build the oracle input plugin (SQL-queries one or more Oracle database systems)</flag>
977 + <flag name="collectd_plugins_oracle">Build the oracle input plugin (executes SQL statements against Oracle database systems)</flag>
978 <flag name="collectd_plugins_perl">Build the perl language binding plugin (embeds a Perl interpreter into collectd for writing plugins)</flag>
979 <flag name="collectd_plugins_ping">Build the ping input plugin (measures network latency)</flag>
980 - <flag name="collectd_plugins_postgresql">Build the postgresql input plugin (connects to and executes SQL statements on a PostgreSQL database)</flag>
981 - <flag name="collectd_plugins_powerdns">Build the powerdns input plugin (connects to a local PowerDNS instance)</flag>
982 - <flag name="collectd_plugins_processes">Build the processes input plugin (statistics about processes)</flag>
983 - <flag name="collectd_plugins_protocols">Build the protocols input plugin (network protocols)</flag>
984 + <flag name="collectd_plugins_postgresql">Build the postgresql input plugin (executes SQL statements against a PostgreSQL database)</flag>
985 + <flag name="collectd_plugins_powerdns">Build the powerdns input plugin (collects statistics from the PowerDNS name server or recursor via control socket)</flag>
986 + <flag name="collectd_plugins_processes">Build the processes input plugin (collects the number of processes, grouped by their state or detailed statistics about selected processes)</flag>
987 + <flag name="collectd_plugins_protocols">Build the protocols input plugin (collects information about the network protocols supported by the system)</flag>
988 <flag name="collectd_plugins_python">Build the python language binding plugin (embeds a Python interpreter into collectd for writing plugins)</flag>
989 - <flag name="collectd_plugins_redis">Build the Redis input plugin</flag>
990 - <flag name="collectd_plugins_routeros">Build the routeros input plugin (collect information on devices running RouterOS)</flag>
991 + <flag name="collectd_plugins_redis">Build the Redis input plugin (collects usage information from Redis instances)</flag>
992 + <flag name="collectd_plugins_routeros">Build the routeros input plugin (collects information from devices running RouterOS)</flag>
993 <flag name="collectd_plugins_rrdcached">Build the rrdcached input/output plugin (connects to rrdcached and submits updates for RRD files)</flag>
994 <flag name="collectd_plugins_rrdtool">Build the rrdtool output plugin (writes values to RRD-files)</flag>
995 - <flag name="collectd_plugins_sensors">Build the sensors input plugin (uses lm-sensors to read hardware sensors)</flag>
996 + <flag name="collectd_plugins_sensors">Build the sensors input plugin (reads hardware sensors from lm-sensors)</flag>
997 <flag name="collectd_plugins_serial">Build the serial input plugin (collects the traffic on serial interfaces)</flag>
998 - <flag name="collectd_plugins_smart">Build the plugin for SMART statistics</flag>
999 - <flag name="collectd_plugins_snmp">Build the snmp input plugin (read values from network devices using SNMP)</flag>
1000 + <flag name="collectd_plugins_sigrok">Build the sigrok input plugin (reads measurements from any supported hardware from sigrok project)</flag>
1001 + <flag name="collectd_plugins_smart">Build the S.M.A.R.T input plugin (collects S.M.A.R.T statistics from disk drives)</flag>
1002 + <flag name="collectd_plugins_snmp">Build the snmp input plugin (reads values from network devices using SNMP)</flag>
1003 <flag name="collectd_plugins_statsd">Build the statsd input plugin (accepts statsd-type metrics from a UDP socket)</flag>
1004 - <flag name="collectd_plugins_swap">Build the swap input plugin (amount of memory currently written to swap)</flag>
1005 + <flag name="collectd_plugins_swap">Build the swap input plugin (collects amount of memory currently written to swap)</flag>
1006 <flag name="collectd_plugins_syslog">Build the syslog output plugin (receives messages from collectd and dispatches them to syslog)</flag>
1007 <flag name="collectd_plugins_table">Build the table input plugin (parses table-like structured plain text)</flag>
1008 - <flag name="collectd_plugins_tail">Build the tail input plugin (follows logfiles as e.g. tail -f)</flag>
1009 + <flag name="collectd_plugins_tail">Build the tail input plugin (follows logfiles, e.g. tail -f)</flag>
1010 + <flag name="collectd_plugins_tail_csv">Build the tail_csv input plugin (follows and parses CSV files, e.g. tail -f *.csv)</flag>
1011 <flag name="collectd_plugins_target_notification">Build the target_notification filter plugin</flag>
1012 <flag name="collectd_plugins_target_replace">Build the target_replace filter plugin</flag>
1013 <flag name="collectd_plugins_target_scale">Build the target_scale filter plugin</flag>
1014 <flag name="collectd_plugins_target_set">Build the target_set filter plugin</flag>
1015 - <flag name="collectd_plugins_tcpconns">Build the tcpconns input plugin (number of TCP connections to or from a specified port)</flag>
1016 + <flag name="collectd_plugins_tcpconns">Build the tcpconns input plugin (collects numbers of TCP connections to or from a specified port)</flag>
1017 <flag name="collectd_plugins_teamspeak2">Build the teamspeak2 input plugin (collects traffic statistics from a teamspeak2 instance)</flag>
1018 <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>
1019 - <flag name="collectd_plugins_thermal">Build the thermal input plugin (ACPI thermal zone information)</flag>
1020 + <flag name="collectd_plugins_thermal">Build the thermal input plugin (reads ACPI thermal zone information)</flag>
1021 <flag name="collectd_plugins_threshold">Build the threshold plugin (checks values against configured thresholds and creates notifications if values are out of bounds)</flag>
1022 - <flag name="collectd_plugins_tokyotyrant">Build the tokyotyrant input plugin (number of records and file size from a running Tokyo Tyrant server)</flag>
1023 - <flag name="collectd_plugins_turbostat">Build the plugin for Advanced statistic on Intel cpu states</flag>
1024 - <flag name="collectd_plugins_unixsock">Build the unixsock output plugin (opens a UNIX domain socket and accepts connections)</flag>
1025 - <flag name="collectd_plugins_uptime">Build the uptime input plugin (system uptime)</flag>
1026 - <flag name="collectd_plugins_users">Build the users input plugin (number of users currently logged in)</flag>
1027 + <flag name="collectd_plugins_tokyotyrant">Build the tokyotyrant input plugin (collects number of records and file size from a running Tokyo Tyrant server)</flag>
1028 + <flag name="collectd_plugins_turbostat">Build the turbostat input plugin (reads CPU frequency and C-state residency on modern Intel turbo-capable processors)</flag>
1029 + <flag name="collectd_plugins_unixsock">Build the unixsock input/output plugin (opens a UNIX domain socket and accepts connections)</flag>
1030 + <flag name="collectd_plugins_uptime">Build the uptime input plugin (keeps track of the system uptime)</flag>
1031 + <flag name="collectd_plugins_users">Build the users input plugin (counts the number of users currently logged into the system)</flag>
1032 <flag name="collectd_plugins_uuid">Build the uuid plugin (tries hard to determine the UUID of the system it is running on)</flag>
1033 - <flag name="collectd_plugins_varnish">Build the varnish input plugin</flag>
1034 - <flag name="collectd_plugins_virt">Build the libvirt input plugin (statistics about virtualized guests on a system)</flag>
1035 - <flag name="collectd_plugins_vmem">Build the vmem input plugin (information about the virtual memory subsystem)</flag>
1036 - <flag name="collectd_plugins_wireless">Build the wireless input plugin (signal quality, signal power and signal-to-noise ratio for wireless LAN cards)</flag>
1037 - <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>
1038 - <flag name="collectd_plugins_write_http">Build the write_http output plugin (sends the values collected by collectd to a web-server)</flag>
1039 - <flag name="collectd_plugins_write_log">Build the Log output plugin</flag>
1040 - <flag name="collectd_plugins_write_mongodb">Build the write_mongodb output plugin (sends the values collected by collectd to a MongoDB)</flag>
1041 - <flag name="collectd_plugins_write_redis">Build the Redis output plugin</flag>
1042 - <flag name="collectd_plugins_write_sensu">Build the Sensu output plugin</flag>
1043 - <flag name="collectd_plugins_write_tsdb">Build the TSDB output plugin</flag>
1044 - <flag name="collectd_plugins_zfs_arc">Build the plugin for ZFS ARC statistics</flag>
1045 - <flag name="collectd_plugins_zookeeper">Build the plugin for Zookeeper statistics</flag>
1046 + <flag name="collectd_plugins_varnish">Build the varnish input plugin (collects information about Varnish)</flag>
1047 + <flag name="collectd_plugins_virt">Build the (lib)virt input plugin (collects statistics about virtualized guests on a system)</flag>
1048 + <flag name="collectd_plugins_vmem">Build the vmem input plugin (collects information about the virtual memory subsystem of the kernel)</flag>
1049 + <flag name="collectd_plugins_vserver">Build the vserver input plugin (collects information about the virtual servers running on a system, using Linux-Vserver)</flag>
1050 + <flag name="collectd_plugins_wireless">Build the wireless input plugin (collects signal quality, signal power and signal-to-noise ratio for wireless LAN cards)</flag>
1051 + <flag name="collectd_plugins_write_graphite">Build the write_graphite output plugin (stores values in Carbon, the storage layer of Graphite)</flag>
1052 + <flag name="collectd_plugins_write_http">Build the write_http output plugin (sends metrics to a web-server using HTTP POST requests)</flag>
1053 + <flag name="collectd_plugins_write_kafka">Build the Kafka output plugin (sends metrics to Apache Kafka)</flag>
1054 + <flag name="collectd_plugins_write_log">Build the write_log output plugin (writes metrics to a file)</flag>
1055 + <flag name="collectd_plugins_write_mongodb">Build the MongoDB output plugin (writes metrics to a MongoDB)</flag>
1056 + <flag name="collectd_plugins_write_redis">Build the Redis output plugin (stores values in Redis)</flag>
1057 + <flag name="collectd_plugins_write_riemann">Build the Riemann output plugin (stores values in Riemann, a stream processing and monitoring system)</flag>
1058 + <flag name="collectd_plugins_write_sensu">Build the Sensu output plugin (sends metrics to Sensu Core, an open-source monitoring project)</flag>
1059 + <flag name="collectd_plugins_write_tsdb">Build the TSDB output plugin (writes metrics to OpenTSDB, an open-source distributed time-series database based on Apache HBase)</flag>
1060 + <flag name="collectd_plugins_zfs_arc">Build the ZFS ARC input plugin (reports information such as the cache size, the various hits and misses (also as a ratio) and the transferred data)</flag>
1061 + <flag name="collectd_plugins_zookeeper">Build the zookeeper input plugin (reads data from Apache Zookeeper MNTR command)</flag>
1062 <flag name="contrib">Install user-contributed files in the doc directory</flag>
1063 + <flag name="filecaps">When set collectd daemon will have set required capabilities to run most plugins even if run as unprivileged user</flag>
1064 + <flag name="java">Must be set (workaround for java-pkg-opt-2 eclass limitation) when you want java or genericjmx plugin</flag>
1065 </use>
1066 </pkgmetadata>