diff options
author | Andreas K. Huettel (dilfridge) <mail@akhuettel.de> | 2010-10-29 21:13:32 +0200 |
---|---|---|
committer | Andreas K. Huettel (dilfridge) <mail@akhuettel.de> | 2010-10-29 21:13:32 +0200 |
commit | 2b0884749e849c956ec53769232ac546ec66452e (patch) | |
tree | 5c6aa1cb9038f837f1d20f845d4522fdb3da808e /app-admin | |
parent | [app-admin/collectd] Resync with main tree (diff) | |
download | dilfridge-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/ChangeLog | 4 | ||||
-rw-r--r-- | app-admin/collectd/Manifest | 30 | ||||
-rw-r--r-- | app-admin/collectd/collectd-4.10.1-r3.ebuild | 294 | ||||
-rw-r--r-- | app-admin/collectd/files/logrotate | 9 |
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 +} |