summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas K. Huettel (dilfridge) <mail@akhuettel.de>2010-10-29 21:13:32 +0200
committerAndreas K. Huettel (dilfridge) <mail@akhuettel.de>2010-10-29 21:13:32 +0200
commit2b0884749e849c956ec53769232ac546ec66452e (patch)
tree5c6aa1cb9038f837f1d20f845d4522fdb3da808e /app-admin
parent[app-admin/collectd] Resync with main tree (diff)
downloaddilfridge-2b0884749e849c956ec53769232ac546ec66452e.tar.gz
dilfridge-2b0884749e849c956ec53769232ac546ec66452e.tar.bz2
dilfridge-2b0884749e849c956ec53769232ac546ec66452e.zip
[app-admin/collectd] Started with improvements from bug 342985
(Portage version: 2.1.9.23/git/Linux x86_64, signed Manifest commit with key B6C5F7DE)
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/collectd/ChangeLog4
-rw-r--r--app-admin/collectd/Manifest30
-rw-r--r--app-admin/collectd/collectd-4.10.1-r3.ebuild294
-rw-r--r--app-admin/collectd/files/logrotate9
4 files changed, 323 insertions, 14 deletions
diff --git a/app-admin/collectd/ChangeLog b/app-admin/collectd/ChangeLog
index 9e5077d..2162e01 100644
--- a/app-admin/collectd/ChangeLog
+++ b/app-admin/collectd/ChangeLog
@@ -3,6 +3,10 @@
# $Header: $
29 Oct 2010; Andreas K. Huettel <dilfridge@gentoo.org>
+ +collectd-4.10.1-r3.ebuild, +files/logrotate:
+ Started with improvements from bug 342985
+
+ 29 Oct 2010; Andreas K. Huettel <dilfridge@gentoo.org>
collectd-4.10.1-r2.ebuild, files/collectd.confd, files/collectd.initd:
Resync with main tree
diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest
index e06facb..250bb0e 100644
--- a/app-admin/collectd/Manifest
+++ b/app-admin/collectd/Manifest
@@ -7,25 +7,27 @@ AUX collectd-4.10.1-noowniptc.patch 837 RMD160 433d936a3c8d22af289ab9ecc00a9843a
AUX collectd-4.10.1-werror.patch 2005 RMD160 c06320ac7a189de421faabeb377c957f15c757b8 SHA1 6b130c57f63d6aafccbe0fff42edb490030c92ae SHA256 38a704b07121f56494daff59366de1f4793a5d357ed1000de01eafed2e350f60
AUX collectd.confd 633 RMD160 46f81e3f73d577c3f59df404012e33c419188acc SHA1 85f569035bbb6ff7d3e03a4b85c35ccb126c29a4 SHA256 30e41d63f3af1d736d86903046e5aac8f8a548714bab0acbbca0ffd6c16ed430
AUX collectd.initd 749 RMD160 ca0ea7029c5646299733b1e75e6cbfc2307f175f SHA1 52dbfc6a26998afc2059180114b872f439ba4ca1 SHA256 31566ee872442d64e20f0431d7e0687725eb4fe1c03b84fe5b9c5cec79d3c570
+AUX logrotate 115 RMD160 bc70b0fbacde2021a96851f781e096597b161f8c SHA1 4c9f65faab5a43b142fe7f34163ca6d07b8ed704 SHA256 eb359631805b6bfb9f2a9ae5ed21be8f8b3b6f1ffeed8d506231043c9a77262c
DIST collectd-4.10.1.tar.bz2 1415626 RMD160 f609f70bd7bb789ab54ca72edd34c3753692ff00 SHA1 bda5c918761b98e82fa18da056f60916703b5805 SHA256 607ea5d22164eaf434223dd39a1df453103e2f3c2f2b8c1dbfc1531eefb6df56
EBUILD collectd-4.10.1-r2.ebuild 9956 RMD160 5e745db3aef65ee506c9a7895a2c66f8904e2675 SHA1 928cb45b5e537a77b7b690a29ff30f6ff7a1375d SHA256 794a63a905398059e5c29c545200f887a22a2b2f692c15722f6d3939c5857830
-MISC ChangeLog 3344 RMD160 819a4d570232838cb40f18e17c14cb0b22dc1def SHA1 2ebb9f8ce806e4c6bff55646d57277507a6bbeff SHA256 a4000890e24cbd28109d6b1dd53e1a619b7c72e441da20aacae6680b95540a6d
+EBUILD collectd-4.10.1-r3.ebuild 10031 RMD160 bb6c909dbdab161893f66786308ea352db8ce7d4 SHA1 880766d64da0a0e93e80a9e46e8f842151dcde6a SHA256 16a057364451dbfec2e0fc0c600343850c0eba247e3f81071fcd02168478900c
+MISC ChangeLog 3494 RMD160 f6f7d724794f4e3833b0bc3ec64f20332ba7350c SHA1 b75f73de0e23af0d6c50fd9814cfc8394b138a0c SHA256 35e6fa042b1d78013ce9fa2f627a618a8cb6cd4a63f64aa358bc5d0fa15badc9
MISC metadata.xml 10712 RMD160 2c1e1064f30421d73297d30f61c63430947d8f5b SHA1 d5c71108a4fe21188e400602f8ed99a541743b37 SHA256 518746b2dd219fd53ec6c63596a0e842f6988182bfa6e1ef52eb607961bc354a
MISC notes.txt 2089 RMD160 cd61c2757dc1a147bc1b9172bbff940cc6cfdc87 SHA1 81e49e513986406e37af00ed9511893f59699f4d SHA256 87515a0ad5131bf44bdba5f257b8b61beea9b7825f1db5501de9ae3551be72e6
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
-iQIcBAEBAgAGBQJMyxqpAAoJENwGBM22xffecM8P/RsBTNcLc8l2jDKszMWt5Kvk
-wRrmhgvB8eXfe1NvH1wwbsz4UUnNF5G4sLYBnaXDRdYCYcil93HMYZg0fM4lV5Oq
-fzvRD8KXkqTrb/YVklpTRIcUCBlknJSsghGnxpXjKzVbD2x+LZzWxwN/MUYLsFvo
-6DpfJB+u0e+AJcBLts/nVYkjlsebxILWkLO2Rkd2zRhAHWXe51zkRNok1vjSrpbp
-n4xcCUzMbh4wAqg02OpezKV5Odvt0x7nfVbbj3iGRy8TNMwBwbGgU23TO+5Nd9zP
-B0aOCkEb2GGstcnMuabTgu6uMgtrAo+5GJ/uOJe4h4LqA10mYAT/vqDRpN8MN22H
-UNW1xoVPdkNGkxd5p7B1i0HzCMLqJZK/mdhBXqrDq5rN7Gs3Z+zs5SORpVTwnkcE
-PjW7+Uqbg8rUzfsnsaqyE0fgef89snFNaFgbuj28OhgxpkiVNJEg4Xkf8iUUVX5V
-3Sgtf2kfLQXXDFIr6oVYb6quWq53pENmJZM3LZlFqUs18PHyDZj13K3IdcQ7imqf
-F6K/+/j8gjCgn7+ZzwmB5DexGcZ1Zhy8IZIdK7M05YVxbEG1hZbogoGc+xfcJurV
-z2Rqr2tt0sHNyE4JUHQpjHQmP/H3W94I/0zLAL0mq4uWLRug6dKsu4gqhb8J80fD
-F1BGVaM6uiwHCxw/ZnwO
-=7f/s
+iQIcBAEBAgAGBQJMyxzcAAoJENwGBM22xffeaxIQAILfNtubSo0GQKY/yV0TReL5
+AB7g7f9/DR8Pf16OKw3ewkH8KvOhAPd0GY51RNmSrDDwVFNpsll66BhNnXP0i0sa
+3EJX9kgK3tGRdg3NRXK76goZXZJC78MuEDAPb6R7iXvdBmuZNZSVcZO2NdePblFi
+qBZAAJV+LMRKgi6Q/p38ZNkzG2rY/aOB+k5AbZbUkLVraAFVhINDk1+29bmlq/Ie
+0UUOHrN7Nr5rRd0u6KgYhCTfh5z9UFkG2KL63biHyRgNzUEe2WgN3FgKEXEnYrMh
+U+RYPRCc2VPECYBNrlWe/EOsje1qMzIqlp39YinlZbOMDrN8ZGMZC0x9Oh6FjXlp
+r3r8L/eoP5QYgHrltyuKaI20ioq1tFXhYDM7JmgTAxOFnvEzvvXmQzBvh6NXiOpf
+fypA90mCuEJdujV6JzGSWE93Qmjr/+oAfU68YzDUE3ZpCoIDsV1h5h3YRjuWsvbj
+OTtu2nye6u6XS5US61RtxAryMNMISHu9zMym/99AifysMLqFnfoCodZXcez4pjGh
+XLMwzeoLJ6Aq97GAdNYcsTZb4kT17Sm6GGFm2++ipaTYVjsye16GXODWqmc4HYC4
+VI7tWCJXbjzGiN68N/kwot5EJbrYwgzWK4J2npkmjlyEksYDsLrSKpphbxr5PUgz
+n2Hftaxu3GbwFEWFbnOC
+=HL81
-----END PGP SIGNATURE-----
diff --git a/app-admin/collectd/collectd-4.10.1-r3.ebuild b/app-admin/collectd/collectd-4.10.1-r3.ebuild
new file mode 100644
index 0000000..d50f804
--- /dev/null
+++ b/app-admin/collectd/collectd-4.10.1-r3.ebuild
@@ -0,0 +1,294 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-4.10.1-r2.ebuild,v 1.6 2010/10/12 17:59:52 dilfridge Exp $
+
+EAPI="2"
+
+inherit base linux-info perl-app autotools
+
+DESCRIPTION="A small daemon which collects system performance statistics - with a near-infinite number of plugins"
+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"
+
+# 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="curl_json netapp pinba ping xmms"
+
+# Plugins that still need some work
+COLLECTD_UNTESTED_PLUGINS="oracle ipmi ipvs netlink apple_sensors routeros tape zfs_arc nut modbus"
+
+# Plugins that have been (compile) tested and can be enabled via COLLECTD_PLUGINS
+COLLECTD_TESTED_PLUGINS="apache apcups ascent battery bind conntrack contextswitch
+ cpu cpufreq curl curl_xml dbi df disk dns email entropy exec filecount fscache gmond
+ hddtemp interface iptables irq java libvirt load madwifi mbmon memcachec
+ memcached memory multimeter mysql network nfs nginx ntpd olsrd
+ onewire openvpn perl postgresql powerdns processes protocols python
+ rrdcached sensors serial snmp swap table tail tcpconns teamspeak2 ted thermal
+ tokyotyrant uptime users vmem vserver wireless csv exec logfile network
+ notify_desktop notify_email perl python rrdcached rrdtool syslog unixsock write_http
+ match_empty_counter match_hashed match_regex match_timediff match_value
+ target_notification target_replace target_scale target_set uuid"
+
+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="
+ 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_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_iptables? ( >=net-firewall/iptables-1.4.9.1-r2 )
+ collectd_plugins_java? ( virtual/jre dev-java/java-config-wrapper )
+ collectd_plugins_libvirt? ( app-emulation/libvirt dev-libs/libxml2 )
+ collectd_plugins_memcachec? ( dev-libs/libmemcached )
+ collectd_plugins_mysql? ( >=virtual/mysql-5.0 )
+ collectd_plugins_network? ( dev-libs/libgcrypt )
+ collectd_plugins_nginx? ( net-misc/curl )
+ collectd_plugins_notify_desktop? ( x11-libs/libnotify )
+ collectd_plugins_notify_email? ( >=net-libs/libesmtp-1.0.4 dev-libs/openssl )
+ collectd_plugins_onewire? ( sys-fs/owfs )
+ collectd_plugins_perl? ( dev-lang/perl[ithreads] sys-devel/libperl[ithreads] )
+ collectd_plugins_postgresql? ( >=dev-db/postgresql-base-8.2 )
+ collectd_plugins_python? ( =dev-lang/python-2* )
+ collectd_plugins_rrdcached? ( >=net-analyzer/rrdtool-1.4 )
+ collectd_plugins_rrdtool? ( >=net-analyzer/rrdtool-1.2.27 )
+ collectd_plugins_sensors? ( sys-apps/lm_sensors )
+ collectd_plugins_snmp? ( net-analyzer/net-snmp )
+ collectd_plugins_tokyotyrant? ( net-misc/tokyotyrant )
+ collectd_plugins_uuid? ( sys-apps/hal )
+ collectd_plugins_write_http? ( net-misc/curl )
+
+ kernel_FreeBSD? (
+ collectd_plugins_disk? ( >=sys-libs/libstatgrab-0.16 )
+ collectd_plugins_interface? ( >=sys-libs/libstatgrab-0.16 )
+ collectd_plugins_load? ( >=sys-libs/libstatgrab-0.16 )
+ collectd_plugins_memory? ( >=sys-libs/libstatgrab-0.16 )
+ collectd_plugins_swap? ( >=sys-libs/libstatgrab-0.16 )
+ collectd_plugins_users? ( >=sys-libs/libstatgrab-0.16 )
+ )"
+
+DEPEND="${COMMON_DEPEND}
+ dev-util/pkgconfig
+ kernel_linux? (
+ collectd_plugins_vserver? ( sys-kernel/vserver-sources )
+ )"
+
+RDEPEND="${COMMON_DEPEND}
+ collectd_plugins_syslog? ( virtual/logger )"
+
+PATCHES=( "${FILESDIR}/${P}"-{libperl,libiptc,noowniptc}.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
+
+ # 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
+ einfo "Checking your linux kernel configuration:"
+ collectd_linux_kernel_checks
+ else
+ elog "Cannot find a linux kernel configuration. Continuing anyway."
+ fi
+ fi
+}
+
+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
+
+ 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 interface iptables ipvs irq load
+ memory netlink nfs 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
+ 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
+
+ # Finally, run econf.
+ KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl --localstatedir=/var ${myconf}
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+
+ fixlocalpod
+
+ dodoc AUTHORS ChangeLog NEWS README TODO || die
+
+ if use contrib ; then
+ insinto /usr/share/doc/${PF}
+ doins -r contrib || die
+ fi
+
+ keepdir /var/lib/${PN} || die
+
+ newinitd "${FILESDIR}/${PN}.initd" ${PN} || die
+ newconfd "${FILESDIR}/${PN}.confd" ${PN} || die
+
+ insinto /etc/logrotate.d
+ newins "${FILESDIR}/logrotate" collectd || 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"
+}
diff --git a/app-admin/collectd/files/logrotate b/app-admin/collectd/files/logrotate
new file mode 100644
index 0000000..5d344f6
--- /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
+}