summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hüttel <dilfridge@gentoo.org>2010-09-28 15:17:05 +0000
committerAndreas Hüttel <dilfridge@gentoo.org>2010-09-28 15:17:05 +0000
commita91135c34bdfeef3601e21acfa978208cef0d1b6 (patch)
tree6b5e2395d8b442f79229de159520f71a1a8f314f /app-admin
parentFix typo (diff)
downloadhistorical-a91135c34bdfeef3601e21acfa978208cef0d1b6.tar.gz
historical-a91135c34bdfeef3601e21acfa978208cef0d1b6.tar.bz2
historical-a91135c34bdfeef3601e21acfa978208cef0d1b6.zip
New application, fixes bug 107076.
Package-Manager: portage-2.1.8.3/cvs/Linux i686
Diffstat (limited to 'app-admin')
-rw-r--r--app-admin/collectd/ChangeLog15
-rw-r--r--app-admin/collectd/Manifest8
-rw-r--r--app-admin/collectd/collectd-4.10.1-r2.ebuild332
-rw-r--r--app-admin/collectd/files/collectd-4.10.1-libiptc.patch12
-rw-r--r--app-admin/collectd/files/collectd-4.10.1-libperl.patch29
-rw-r--r--app-admin/collectd/files/collectd.confd16
-rw-r--r--app-admin/collectd/files/collectd.initd29
-rw-r--r--app-admin/collectd/metadata.xml95
8 files changed, 536 insertions, 0 deletions
diff --git a/app-admin/collectd/ChangeLog b/app-admin/collectd/ChangeLog
new file mode 100644
index 000000000000..9e11e2d506dd
--- /dev/null
+++ b/app-admin/collectd/ChangeLog
@@ -0,0 +1,15 @@
+# ChangeLog for app-admin/collectd
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.1 2010/09/28 15:17:05 dilfridge Exp $
+
+*collectd-4.10.1-r2 (28 Sep 2010)
+
+ 28 Sep 2010; Andreas K. Huettel <dilfridge@gentoo.org>
+ +collectd-4.10.1-r2.ebuild, +files/collectd-4.10.1-libiptc.patch,
+ +files/collectd-4.10.1-libperl.patch, +files/collectd.confd,
+ +files/collectd.initd, +metadata.xml:
+ New application, fixes bug 107076. Thanks to all the previous authors of
+ the ebuild since 2005 (see Bugzilla for details), to the reviewers on
+ #gentoo-sunrise and #gentoo-dev, and in particular to Boian Berberov, on
+ whose work this is mainly based.
+
diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest
new file mode 100644
index 000000000000..293868791427
--- /dev/null
+++ b/app-admin/collectd/Manifest
@@ -0,0 +1,8 @@
+AUX collectd-4.10.1-libiptc.patch 534 RMD160 dd6c016797ec4e6e5c7c67bbbeddd50d1c59badc SHA1 253efd36642f7ab1253bcc307e0f4d0e1a4d8e21 SHA256 f6c63e0cb686e4d7a655b9ff0b69e8ba75a9cf40c2ae79c6ec97c1e7377d2f4e
+AUX collectd-4.10.1-libperl.patch 917 RMD160 2feb20abbf7fd036e34957c190689f1e668ff321 SHA1 1c8312b576faa6a855f4f615995b007b108325ba SHA256 26e3c74392166a2438d7106e94953f871aedfe3b643c866afc8865c1ef7534c7
+AUX collectd.confd 633 RMD160 46f81e3f73d577c3f59df404012e33c419188acc SHA1 85f569035bbb6ff7d3e03a4b85c35ccb126c29a4 SHA256 30e41d63f3af1d736d86903046e5aac8f8a548714bab0acbbca0ffd6c16ed430
+AUX collectd.initd 765 RMD160 3cb31e0685363729ef12298eda834e49ca1b326d SHA1 99582f0147234869b1cfa8307df4956e612deaf3 SHA256 283e503e2539a914924718ba67f8e513658a5a57b19855568b9a7e47a6eb733c
+DIST collectd-4.10.1.tar.bz2 1415626 RMD160 f609f70bd7bb789ab54ca72edd34c3753692ff00 SHA1 bda5c918761b98e82fa18da056f60916703b5805 SHA256 607ea5d22164eaf434223dd39a1df453103e2f3c2f2b8c1dbfc1531eefb6df56
+EBUILD collectd-4.10.1-r2.ebuild 11202 RMD160 55271382dd6eb590491dc9d6af3a7c8a961b5913 SHA1 7fcba7329061c73f545a8027bdac16b4b7c922a2 SHA256 9af85816c07e4ba74d3ea6278199fc72e75a56bec6e3025bbad0fe9465bd9f22
+MISC ChangeLog 733 RMD160 50debb1478034b746c0e0b5607e604e243535984 SHA1 dc2e43b931a71c7259128489df2e71323a47e202 SHA256 76420076b652f2b627556f2a2367ae08594bd4796e8f3cde5227f6b10370d4c0
+MISC metadata.xml 10712 RMD160 2c1e1064f30421d73297d30f61c63430947d8f5b SHA1 d5c71108a4fe21188e400602f8ed99a541743b37 SHA256 518746b2dd219fd53ec6c63596a0e842f6988182bfa6e1ef52eb607961bc354a
diff --git a/app-admin/collectd/collectd-4.10.1-r2.ebuild b/app-admin/collectd/collectd-4.10.1-r2.ebuild
new file mode 100644
index 000000000000..198c749ed7e3
--- /dev/null
+++ b/app-admin/collectd/collectd-4.10.1-r2.ebuild
@@ -0,0 +1,332 @@
+# 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.1 2010/09/28 15:17:05 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_oracle? ( >=dev-db/oracle-instantclient-basic-11.1.0.7.0 )
+ 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}.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 PROC_FS warn
+ collectd_plugin_kernel_linux battery ACPI_BATTERY warn
+
+ # cpu.c:/proc/stat
+ collectd_plugin_kernel_linux cpu PROC_FS 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
+
+ # utils_mount.c:/proc/partitions
+ collectd_plugin_kernel_linux df PROC_FS warn
+
+ # disk.c:/proc/diskstats
+ # disk.c:/proc/partitions
+ collectd_plugin_kernel_linux disk PROC_FS warn
+
+ # entropy.c:/proc/sys/kernel/random/entropy_avail
+ collectd_plugin_kernel_linux entropy PROC_FS warn
+
+ # hddtemp.c:/proc/partitions
+ collectd_plugin_kernel_linux hddtemp PROC_FS info
+
+ # interface.c:/proc/net/dev
+ collectd_plugin_kernel_linux interface PROC_FS warn
+
+ # irq.c:/proc/interrupts
+ collectd_plugin_kernel_linux irq PROC_FS warn
+
+ # load.c:/proc/loadavg
+ collectd_plugin_kernel_linux load PROC_FS warn
+
+ # memory.c:/proc/meminfo
+ collectd_plugin_kernel_linux memory PROC_FS warn
+
+ # nfs.c:/proc/net/rpc/nfs
+ # nfs.c:/proc/net/rpc/nfsd
+ collectd_plugin_kernel_linux nfs PROC_FS warn
+ collectd_plugin_kernel_linux nfs NFS_COMMON warn
+
+ # processes.c:/proc/%i/task
+ # processes.c:/proc/%i/stat
+ collectd_plugin_kernel_linux processes PROC_FS warn
+
+ # serial.c:/proc/tty/driver/serial
+ # serial.c:/proc/tty/driver/ttyS
+ collectd_plugin_kernel_linux serial PROC_FS warn
+ collectd_plugin_kernel_linux serial SERIAL_CORE warn
+
+ # swap.c:/proc/meminfo
+ collectd_plugin_kernel_linux swap PROC_FS warn
+ collectd_plugin_kernel_linux swap SWAP warn
+
+ # tcpconns.c:/proc/net/tcp
+ # tcpconns.c:/proc/net/tcp6
+ collectd_plugin_kernel_linux tcpconns PROC_FS 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 PROC_FS warn
+ collectd_plugin_kernel_linux vmem VM_EVENT_COUNTERS warn
+
+ # vserver.c:/proc/virtual
+ collectd_plugin_kernel_linux vserver PROC_FS warn
+
+ # uuid.c:/sys/hypervisor/uuid
+ collectd_plugin_kernel_linux uuid SYSFS info
+
+ # wireless.c:/proc/net/wireless
+ collectd_plugin_kernel_linux wireless PROC_FS warn
+ 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
+
+ # 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
+}
+
+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/collectd-4.10.1-libiptc.patch b/app-admin/collectd/files/collectd-4.10.1-libiptc.patch
new file mode 100644
index 000000000000..193a479ebc38
--- /dev/null
+++ b/app-admin/collectd/files/collectd-4.10.1-libiptc.patch
@@ -0,0 +1,12 @@
+diff -r -u collectd-4.10.1.orig/configure.in collectd-4.10.1/configure.in
+--- collectd-4.10.1.orig/configure.in 2010-07-09 12:01:59.000000000 +0200
++++ collectd-4.10.1/configure.in 2010-08-27 22:27:57.010271693 +0200
+@@ -1626,7 +1626,7 @@
+ # Check for the iptc_init symbol in the library.
+ if test "x$with_libiptc" = "xyes" && test "x$with_own_libiptc" = "xno"
+ then
+- AC_CHECK_LIB(iptc, iptc_init,
++ AC_SEARCH_LIBS(iptc_init, [iptc ip4tc],
+ [
+ AC_DEFINE(HAVE_LIBIPTC, 1, [Define to 1 if you have the iptc library (-liptc).])
+ ],
diff --git a/app-admin/collectd/files/collectd-4.10.1-libperl.patch b/app-admin/collectd/files/collectd-4.10.1-libperl.patch
new file mode 100644
index 000000000000..8fc25a8dff31
--- /dev/null
+++ b/app-admin/collectd/files/collectd-4.10.1-libperl.patch
@@ -0,0 +1,29 @@
+diff -r -u collectd-4.10.1.orig/configure.in collectd-4.10.1/configure.in
+--- collectd-4.10.1.orig/configure.in 2010-07-09 12:01:59.000000000 +0200
++++ collectd-4.10.1/configure.in 2010-09-24 20:15:22.666434555 +0200
+@@ -2607,11 +2607,13 @@
+ then
+ SAVE_CFLAGS="$CFLAGS"
+ SAVE_LDFLAGS="$LDFLAGS"
++ SAVE_LIBS="$LIBS"
+ dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
+ PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
+ PERL_LDFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
+ CFLAGS="$CFLAGS $PERL_CFLAGS"
+ LDFLAGS="$LDFLAGS $PERL_LDFLAGS"
++ LIBS="$LIBS -lperl"
+
+ AC_CACHE_CHECK([for libperl],
+ [c_cv_have_libperl],
+@@ -2630,7 +2632,10 @@
+ Nullsv);
+ ]]),
+ [c_cv_have_libperl="yes"],
+- [c_cv_have_libperl="no"]
++ [
++ c_cv_have_libperl="no"
++ LIBS="$SAVE_LIBS"
++ ]
+ )
+ )
+
diff --git a/app-admin/collectd/files/collectd.confd b/app-admin/collectd/files/collectd.confd
new file mode 100644
index 000000000000..a08b9175fca5
--- /dev/null
+++ b/app-admin/collectd/files/collectd.confd
@@ -0,0 +1,16 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/files/collectd.confd,v 1.1 2010/09/28 15:17:05 dilfridge Exp $
+
+# Nice value used to launch collectd, to change priority of the process. As
+# you usually will want to run it in background, a default of 5 is used.
+#
+#COLLECTD_NICELVL='5'
+
+# Location of configuration file. Modify if you don't like the standard one.
+#
+#COLLECTD_CFGFILE='/etc/collectd.conf'
+
+# File used to store the PID file. Usually you won't need to touch it.
+#
+#COLLECTD_PIDFILE='/var/run/collectd.pid'
diff --git a/app-admin/collectd/files/collectd.initd b/app-admin/collectd/files/collectd.initd
new file mode 100644
index 000000000000..9916f0c15548
--- /dev/null
+++ b/app-admin/collectd/files/collectd.initd
@@ -0,0 +1,29 @@
+#!/sbin/runscript
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/files/collectd.initd,v 1.1 2010/09/28 15:17:05 dilfridge Exp $
+
+: ${COLLECTD_PIDFILE:='/var/run/collectd.pid'}
+: ${COLLECTD_CFGFILE:='/etc/collectd.conf'}
+: ${COLLECTD_NICELVL:='5'}
+
+
+depend() {
+ use net
+}
+
+start() {
+ ebegin "Starting collectd"
+ start-stop-daemon --start --quiet \
+ --nicelevel "${COLLECTD_NICELVL}" --exec /usr/sbin/collectd -- \
+ -P "${COLLECTD_PIDFILE}" -C "${COLLECTD_CFGFILE}"
+ eend $? "Failed to start collectd"
+}
+
+stop() {
+ ebegin "Stopping collectd"
+ start-stop-daemon --stop --quiet \
+ --pidfile "${COLLECTD_PIDFILE}"
+ eend $? "Failed to stop collectd"
+}
+
diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml
new file mode 100644
index 000000000000..b8fc849dd6bc
--- /dev/null
+++ b/app-admin/collectd/metadata.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>no-herd</herd>
+ <maintainer>
+ <email>dilfridge@gentoo.org</email>
+ <name>Andreas K. Huettel</name>
+ </maintainer>
+ <use>
+ <flag name='collectd_plugins_apache'>Build the apache input plugin (transferred bytes, handled requests, detailed scoreboard statistics)</flag>
+ <flag name='collectd_plugins_apcups'>Build the apcups input plugin (UPS charge, load, input/output/battery voltage, etc.)</flag>
+ <flag name='collectd_plugins_ascent'>Build the ascent input plugin (statistics about a free server for World of Warcraft)</flag>
+ <flag name='collectd_plugins_battery'>Build the battery input plugin (charge, current and voltage of ACPI and PMU based laptop batteries)</flag>
+ <flag name='collectd_plugins_bind'>Build the bind input plugin (name server and resolver statistics)</flag>
+ <flag name='collectd_plugins_conntrack'>Build the conntrack input plugin (number of nf_conntrack entries)</flag>
+ <flag name='collectd_plugins_contextswitch'>Build the contextswitch input plugin (number of context switches done by the operating system)</flag>
+ <flag name='collectd_plugins_cpu'>Build the cpu input plugin (time spent in the system, user, nice, idle, and related states)</flag>
+ <flag name='collectd_plugins_cpufreq'>Build the cpufreq input plugin (CPU frequency, for laptops with speedstep or similar)</flag>
+ <flag name='collectd_plugins_csv'>Build the csv output plugin (write to comma separated values (CSV) files)</flag>
+ <flag name='collectd_plugins_curl'>Build the curl input plugin (parse statistics from websites using regular expressions)</flag>
+ <flag name='collectd_plugins_curl_xml'>Build the curl_xml input plugin (get xml data via curl and parse it)</flag>
+ <flag name='collectd_plugins_dbi'>Build the dbi input plugin (execute SQL statements on databases and interpret the reply)</flag>
+ <flag name='collectd_plugins_df'>Build the df input plugin (mountpoint usage)</flag>
+ <flag name='collectd_plugins_disk'>Build the disk input plugin (sectors read/written, number of read/write actions, average completion time of IO-operations)</flag>
+ <flag name='collectd_plugins_dns'>Build the dns input plugin (collects statistics of your DNS traffic on port udp/53)</flag>
+ <flag name='collectd_plugins_email'>Build the email input plugin (opens a UNIX domain socket and starts accepting connections on that socket)</flag>
+ <flag name='collectd_plugins_entropy'>Build the entropy input plugin (available entropy on a system)</flag>
+ <flag name='collectd_plugins_exec'>Build the exec input/output plugin (executes scripts / applications and reads values back)</flag>
+ <flag name='collectd_plugins_filecount'>Build the filecount input plugin (countd the number of files in a directory and all its subdirectories)</flag>
+ <flag name='collectd_plugins_fscache'>Build the fscache input plugin (information about the caching infrastructure for network file-systems etc)</flag>
+ <flag name='collectd_plugins_gmond'>Build the gmond input plugin (receive data from gmond, the client daemon of the Ganglia project)</flag>
+ <flag name='collectd_plugins_hddtemp'>Build the hddtemp input plugin (temperature of hard disks)</flag>
+ <flag name='collectd_plugins_interface'>Build the interface input plugin (information about traffic, packets and errors of interfaces)</flag>
+ <flag name='collectd_plugins_iptables'>Build the iptables input plugin (statistics from a ip_tables based packet filter)</flag>
+ <flag name='collectd_plugins_irq'>Build the irq input plugin (number of times each interrupt has been handled by the os)</flag>
+ <flag name='collectd_plugins_java'>Build the java input plugin (embeds a JVM into collectd for writing plugins)</flag>
+ <flag name='collectd_plugins_libvirt'>Build the libvirt input plugin (statistics about virtualized guests on a system)</flag>
+ <flag name='collectd_plugins_load'>Build the load input plugin (system load)</flag>
+ <flag name='collectd_plugins_logfile'>Build the logfile output plugin (writes log messages to a text file)</flag>
+ <flag name='collectd_plugins_madwifi'>Build the madwifi input plugin (information about Atheros wireless LAN chipsets)</flag>
+ <flag name='collectd_plugins_match_empty_counter'>Build the match_empty_counter filter plugin</flag>
+ <flag name='collectd_plugins_match_hashed'>Build the match_hashed filter plugin</flag>
+ <flag name='collectd_plugins_match_regex'>Build the match_regex filter plugin</flag>
+ <flag name='collectd_plugins_match_timediff'>Build the match_timediff filter plugin</flag>
+ <flag name='collectd_plugins_match_value'>Build the match_value filter plugin</flag>
+ <flag name='collectd_plugins_mbmon'>Build the mbmon input plugin (information from mainboard sensors)</flag>
+ <flag name='collectd_plugins_memcachec'>Build the memcachec input plugin (connects to a memcached server)</flag>
+ <flag name='collectd_plugins_memcached'>Build the memcached input plugin (connects to a memcached daemon)</flag>
+ <flag name='collectd_plugins_memory'>Build the memory input plugin (physical memory utilization)</flag>
+ <flag name='collectd_plugins_multimeter'>Build the multimeter input plugin (reads a voltage or current from a multimeter connected to a serial bus)</flag>
+ <flag name='collectd_plugins_mysql'>Build the mysql input plugin (connects to an MySQL-database and issues a SHOW STATUS command)</flag>
+ <flag name='collectd_plugins_network'>Build the network input/output plugin (communicates with other instances of collectd)</flag>
+ <flag name='collectd_plugins_nfs'>Build the nfs input plugin (usage of the Network File System)</flag>
+ <flag name='collectd_plugins_nginx'>Build the nginx input plugin (number of requests handled by the nginx daemon)</flag>
+ <flag name='collectd_plugins_notify_desktop'>Build the notify_desktop output plugin (uses libnotify to display notifications to the user)</flag>
+ <flag name='collectd_plugins_notify_email'>Build the notify_email output plugin (uses libESMTP to send notifications to a configured email address)</flag>
+ <flag name='collectd_plugins_ntpd'>Build the ntpd input plugin (queries an NTP server)</flag>
+ <flag name='collectd_plugins_olsrd'>Build the olsrd input plugin (reads information about the Optimized Link State Routing daemon)</flag>
+ <flag name='collectd_plugins_onewire'>Build the onewire input plugin (collects temperature information from sensors)</flag>
+ <flag name='collectd_plugins_openvpn'>Build the openvpn input plugin (reads the status file printed by OpenVPN)</flag>
+ <flag name='collectd_plugins_perl'>Build the perl language binding plugin (embeds a Perl interpreter into collectd for writing plugins)</flag>
+ <flag name='collectd_plugins_postgresql'>Build the postgresql input plugin (connects to and executes SQL statements on a PostgreSQL database)</flag>
+ <flag name='collectd_plugins_powerdns'>Build the powerdns input plugin (connects to a local PowerDNS instance)</flag>
+ <flag name='collectd_plugins_processes'>Build the processes input plugin (statistics about processes)</flag>
+ <flag name='collectd_plugins_protocols'>Build the protocols input plugin (network protocols)</flag>
+ <flag name='collectd_plugins_python'>Build the python language binding plugin (embeds a Python interpreter into collectd for writing plugins)</flag>
+ <flag name='collectd_plugins_rrdcached'>Build the rrdcached input/output plugin (connects to rrdcached and submits updates for RRD files)</flag>
+ <flag name='collectd_plugins_rrdtool'>Build the rrdtool output plugin (writes values to RRD-files)</flag>
+ <flag name='collectd_plugins_sensors'>Build the sensors input plugin (uses lm-sensors to read hardware sensors)</flag>
+ <flag name='collectd_plugins_serial'>Build the serial input plugin (collects the traffic on serial interfaces)</flag>
+ <flag name='collectd_plugins_snmp'>Build the snmp input plugin (read values from network devices using SNMP)</flag>
+ <flag name='collectd_plugins_swap'>Build the swap input plugin (amount of memory currently written to swap)</flag>
+ <flag name='collectd_plugins_syslog'>Build the syslog output plugin (receives messages from collectd and dispatches them to syslog)</flag>
+ <flag name='collectd_plugins_table'>Build the table input plugin (parses table-like structured plain text)</flag>
+ <flag name='collectd_plugins_tail'>Build the tail input plugin (follows logfiles as e.g. tail -f)</flag>
+ <flag name='collectd_plugins_target_notification'>Build the target_notification filter plugin</flag>
+ <flag name='collectd_plugins_target_replace'>Build the target_replace filter plugin</flag>
+ <flag name='collectd_plugins_target_scale'>Build the target_scale filter plugin</flag>
+ <flag name='collectd_plugins_target_set'>Build the target_set filter plugin</flag>
+ <flag name='collectd_plugins_tcpconns'>Build the tcpconns input plugin (number of TCP connections to or from a specified port)</flag>
+ <flag name='collectd_plugins_teamspeak2'>Build the teamspeak2 input plugin (collects traffic statistics from a teamspeak2 instance)</flag>
+ <flag name='collectd_plugins_ted'>Build the ted input plugin (connects to The Energy Detective and reads the current power over connected power lines)</flag>
+ <flag name='collectd_plugins_thermal'>Build the thermal input plugin (ACPI thermal zone information)</flag>
+ <flag name='collectd_plugins_tokyotyrant'>Build the tokyotyrant input plugin (number of records and file size from a running Tokyo Tyrant server)</flag>
+ <flag name='collectd_plugins_uptime'>Build the uptime input plugin (system uptime)</flag>
+ <flag name='collectd_plugins_unixsock'>Build the unixsock output plugin (opens a UNIX domain socket and accepts connections)</flag>
+ <flag name='collectd_plugins_users'>Build the users input plugin (number of users currently logged in)</flag>
+ <flag name='collectd_plugins_uuid'>Build the uuid plugin (tries hard to determine the UUID of the system it is running on)</flag>
+ <flag name='collectd_plugins_vmem'>Build the vmem input plugin (information about the virtual memory subsystem)</flag>
+ <flag name='collectd_plugins_vserver'>Build the vserver input plugin (virtual servers running on a system)</flag>
+ <flag name='collectd_plugins_wireless'>Build the wireless input plugin (signal quality, signal power and signal-to-noise ratio for wireless LAN cards)</flag>
+ <flag name='collectd_plugins_write_http'>Build the write_http output plugin (sends the values collected by collectd to a web-server)</flag>
+ <flag name='contrib'>Install user-contributed files in the doc directory</flag>
+ </use>
+</pkgmetadata>