diff options
author | Andreas Hüttel <dilfridge@gentoo.org> | 2012-02-07 20:12:03 +0000 |
---|---|---|
committer | Andreas Hüttel <dilfridge@gentoo.org> | 2012-02-07 20:12:03 +0000 |
commit | d36a2f1c6378162960eb6cf2b51aa456448e3e04 (patch) | |
tree | 77028aa2ff8cd234a395afa936e91062f972249a /app-admin | |
parent | Version bump. Remove old. (diff) | |
download | historical-d36a2f1c6378162960eb6cf2b51aa456448e3e04.tar.gz historical-d36a2f1c6378162960eb6cf2b51aa456448e3e04.tar.bz2 historical-d36a2f1c6378162960eb6cf2b51aa456448e3e04.zip |
Version bump, thanks Johan
Package-Manager: portage-2.1.10.44/cvs/Linux x86_64
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/collectd/ChangeLog | 11 | ||||
-rw-r--r-- | app-admin/collectd/Manifest | 35 | ||||
-rw-r--r-- | app-admin/collectd/collectd-5.0.2.ebuild | 357 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.0.2-irq.patch | 76 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd.initd | 7 | ||||
-rw-r--r-- | app-admin/collectd/metadata.xml | 1 |
6 files changed, 465 insertions, 22 deletions
diff --git a/app-admin/collectd/ChangeLog b/app-admin/collectd/ChangeLog index 8253bd3443f6..afeb8fafdf35 100644 --- a/app-admin/collectd/ChangeLog +++ b/app-admin/collectd/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for app-admin/collectd -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.30 2011/10/22 17:35:40 dilfridge Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.31 2012/02/07 20:12:02 dilfridge Exp $ + +*collectd-5.0.2 (07 Feb 2012) + + 07 Feb 2012; Andreas K. Huettel <dilfridge@gentoo.org> + +collectd-5.0.2.ebuild, +files/collectd-5.0.2-irq.patch, + files/collectd.initd: + Version bump, thanks Johan *collectd-5.0.1 (22 Oct 2011) diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest index 8d6f85aa2381..60d90e88b3c8 100644 --- a/app-admin/collectd/Manifest +++ b/app-admin/collectd/Manifest @@ -13,29 +13,32 @@ AUX collectd-5.0.0-varnish.patch 4122 RMD160 8674c631d7b6906dae0ba1446852d7a6f6b AUX collectd-5.0.0-yajl2-2.patch 735 RMD160 58f634894c80b7c17656fde910a9917c46b15c17 SHA1 06b9c515587fcc39c2fb9c744db2e18d06628273 SHA256 06f82f3a8d350482a5ae1804db9f97948c02f527d9fdcdad8646c56e42cbc8fd AUX collectd-5.0.0-yajl2.patch 3586 RMD160 7bbd917f5dabd645a72b32d8bf70826014736e89 SHA1 32df19c19620adea658320e917f791690fb02342 SHA256 463ed3de9819000d37883698e25756d775fac232405310ae6a6b4494878e285d AUX collectd-5.0.1-varnish.patch 5779 RMD160 2853c02f56d3aa2dbdea8011750b89d993909ae2 SHA1 4a4a8c9f3250c031209ec43b45e68f0f4a09d59e SHA256 84e0083fb7a1687fb5a0f1349bf6b38492a9a1491110ea75fbcf52fa59377678 +AUX collectd-5.0.2-irq.patch 1983 RMD160 c9ef13dc8d67b3963eb695e1a2245e6eea9b285a SHA1 87e0a36721621842246bfb23e6d560efdfe69ec5 SHA256 1d7b7e62ab5cec8122094625a722feefafd9e0c8b2814a5cea67c6b544d88fd8 AUX collectd.confd 865 RMD160 edf4e29bc193128d913443ba5251935726b13194 SHA1 0987c9546a814d0f6c888f46828ad66b3a190a97 SHA256 c24b11a65cb25587aa534c529a2b394b7c190ac44e1849ea5e1bc02d1e0a1592 -AUX collectd.initd 1648 RMD160 75e310da33a8205dd166d93af2f877d1f8e4d2af SHA1 7f363f6b5f2f085e896e2130494701498a5146da SHA256 a8be14bf15922c423602c5cc595f69bb425c80983a7fd25df13b3caf15d4779a +AUX collectd.initd 1649 RMD160 69e2d339e328b7e7806c49c0226e6e2ffcd40675 SHA1 e83e80f0a56ed8153861aaa1ced5f81256e6d93b SHA256 9db6809d7e7991208d35bc517c71d12a5fa8b8453f096a433e386259c7301163 AUX logrotate 115 RMD160 bc70b0fbacde2021a96851f781e096597b161f8c SHA1 4c9f65faab5a43b142fe7f34163ca6d07b8ed704 SHA256 eb359631805b6bfb9f2a9ae5ed21be8f8b3b6f1ffeed8d506231043c9a77262c DIST collectd-5.0.0.tar.bz2 1372805 RMD160 7b0b9060a4dbde937fa2263076fdd81f328f46aa SHA1 720746ee2542ddec9ef7b42b5f3e00412d1b3b43 SHA256 2df6ef3b90d588b82a16da479ad652fdd5837fb9e6fd04b728c6427a3d767e3c DIST collectd-5.0.1.tar.bz2 1331938 RMD160 26911d3d2c528df43be4ef50dde6e6a6d009132d SHA1 43c61e2aadb4fe648a24a690163a34cd7da76af2 SHA256 23968cf17ef509832bd7c206de5247571b5120418fc537a14d7c26ebd714d86b +DIST collectd-5.0.2.tar.bz2 1313812 RMD160 b0e5470111ec8c0a4c336f7457ef70b8dca738af SHA1 d52d7cedb9d14d030a03107a7e2f0f66e81262d6 SHA256 65c1a0dcea7eca65acb4a52dfae62ed6dba488089d7710ca5ff1cc4225a59dcb EBUILD collectd-5.0.0-r2.ebuild 12996 RMD160 5e5ecc67f2b206e3d4c1cf1c014123a147b6ec4e SHA1 6fb1867f1529d8cf2a73a1b10656257e7239931e SHA256 675b625a33de100858da8ccfbc73c9469e9086d7594a87d3285eddb6bdf59a90 EBUILD collectd-5.0.1.ebuild 12892 RMD160 78d9ce373f35c4388f9a64962badc80e9d5aa9cc SHA1 184f449f8f205bcb2619156a36a96c3f76da5184 SHA256 8ebe516152bfa09d524b0762fe3c16aa32538a545ac74e280a256b14737fad08 -MISC ChangeLog 6519 RMD160 5c4f8ad45f5824e604947c7c68f4db4159d242a7 SHA1 3698266121b859809856b7ef4740be91b28a8db1 SHA256 bdb42356d275f2bc43db3f3400135805d2667b41f5eb5d9d99f757cbe4b944b8 -MISC metadata.xml 11747 RMD160 8c7912edcc4970ba68ce6e8e87620e71ebad8ddd SHA1 f4c50a6232b9e581ddc679b8cd3b9d8887977ee6 SHA256 360c8d20b14cccbced28fdf08f199a932ae5dee8106541c9a99f2d041288c54e +EBUILD collectd-5.0.2.ebuild 13027 RMD160 f46456ab5cbbad91ae6da7d5bd99446f793783e3 SHA1 7ccc03039ac6052c8bffcefaf4e210a68bf8c01a SHA256 37d1430ee2a75a54dc61477dcf87a0e95b69781f90e2fcaf459ee0bfd31dd8d1 +MISC ChangeLog 6720 RMD160 a5b9f08026a16734e2a9ceed1f69eed6a4c66de7 SHA1 84f62761cd4a4ac50b9852dc5edb9fd7b7ba8a34 SHA256 f207547d042b5a2864a49839ab9b922f7e3d6057d61bd80a565183373eeb4f79 +MISC metadata.xml 11877 RMD160 362fbdf3abeb7802fdd29fbe19a397208f2c56e4 SHA1 ac90b60de6a36e6c66543780c6a249776f9925ad SHA256 b58a5a790ffccefddcc34753fe0e543659af2689d2c757ee81002d5cbe1d5cd7 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iQIcBAEBCgAGBQJOov78AAoJENwGBM22xffee7IQAKAadqrnmXUgh6Q3gIU6Rpuv -saXHXA72rIaqZNUzEWCB5PfgVYd36koKo2L0SGsDWhW5visJw/GLYloANTugxyNF -eHhrt3umirMhDYhju5tZiFjuBDIzglMSVgDCXI/ltZZ3Qv/SAx6QQZtYwzg5b017 -ftqw/JCVOFBaivj5AMnyScwlsk6QgMwwe+xM9VR1nivaYJIXLhL5FTzjbGgChiw2 -vkgZ3vB4dcfTWDQvWTnpuO8nGIYngKYlTjXE5gXncdgvw5/XghYgCi08ybny30iD -/i+R76n9awp/85Ag6E5+Fk9uxcIBzQOtu0wRIhGYKg2v+NHERJrpBGe12D6vSqby -+VvRoPQoIyOmX5O8PBdAI/N2gQt71EqkHsu2SaJ7YuIr/aHStqlw/vHmaAHokcot -EFIA6KzEo7p6z70fqLoWyrcauhzWSGrB/npQB09mvJuBFjjeVVIA5yHnWHvstD06 -LVPRGPE0K/48vTGN1DZhape/w/SEHjXYcX0lVbMQkKf7ZWO7NMkT4eLVKX0udfYV -EDqt6BGSrdEyueBZ6OvyQ43XUElnxr3yg+bjFyz+VrZlhMRdelJjv5CXGN27jAm8 -svdFzL8ZvanrtU3kxprIngPblWBI83G+rzKInwqMamacn1m6/+E/jNoUrTcx3/DV -hxJox8SKUWJ34sOm+UkB -=KtQT +iQIcBAEBCgAGBQJPMYXmAAoJENwGBM22xffeypwP/ilmlk1S1c2FBtsKvWv9OXQL +Ok1yeWSFs9sP6dTjHWRPd7rUW1dHbn5UwoFDNG6wjXR/QxVPXANLLjuhI+AGM2/M +SVtzx6gr1DOjwr+uR6fbJpeah6+/yasLlMMsmWTnM7NHfOO9Chx/YbDJJblNLEBO +R2zOiADarinj+WpP9u8WITxD/wUaKh7CMRPxjmk3fkP4pZ9aLJUR+FkbflbW2gsZ +RLqTweJHEi5JE4SysyCNW/QmmCwVcWRpZXAxBKmabnCin8hfnHhZfKuaOoqL6Ket +V1tGi1LQHF4D/e8Krxss8mg1mYUoIaEMVn4THxMv48H05IUqeYm3s3oc3jrJM7Q5 +Ye0ZZas/hHXtAvHCkFcBy8Y4Cm3WqpwG8T80lq0QlOMueq5yQ2p67GvvxFSqrZtq +qBOlmT5JR01tprBYMKcdNUAiCMgszTyt7J5/NBvADCQ+K1YzF19kdE+AKvtLQsaR ++ivNNAZ2UE38Ye699dXE4jzmDkgHzuZxHgWgMIRiwlxtLKbRQ979M6qvFZYFwq4f +OLkYRnUXVOrB0zFa5NMTAyjLgtHrWT7+5BOEd1apgHG6dDFb1AdODLp9Yc9Dj1Tf +kG5jCF7v8h33xnumEOXO+a+kObroN2Sx7wCcM+BBKw3WF/SusoaM9tu9CS7vx+hC +I0OtqS1nqTY1lxtJtHF7 +=heF1 -----END PGP SIGNATURE----- diff --git a/app-admin/collectd/collectd-5.0.2.ebuild b/app-admin/collectd/collectd-5.0.2.ebuild new file mode 100644 index 000000000000..d05db19e0e84 --- /dev/null +++ b/app-admin/collectd/collectd-5.0.2.ebuild @@ -0,0 +1,357 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-5.0.2.ebuild,v 1.1 2012/02/07 20:12:02 dilfridge Exp $ + +EAPI=4 + +inherit eutils 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 perl static-libs" + +# The plugin lists have to follow here since they extend IUSE + +# Plugins that to my knowledge cannot be supported (eg. dependencies not in gentoo) +COLLECTD_IMPOSSIBLE_PLUGINS="netapp pinba xmms" + +# Plugins that still need some work +COLLECTD_UNTESTED_PLUGINS="ipvs apple_sensors tape zfs_arc modbus amqp genericjmx lpar redis threshold write_redis v5upgrade" + +# 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_json curl_xml dbi df disk dns email entropy exec filecount fscache gmond + hddtemp interface ipmi iptables irq java libvirt load madwifi mbmon memcachec + memcached memory multimeter mysql netlink network nfs nginx ntpd nut olsrd + onewire openvpn perl ping postgresql powerdns processes protocols python + rrdcached sensors serial snmp swap table tail tcpconns teamspeak2 ted thermal + tokyotyrant uptime users varnish vmem vserver wireless csv exec logfile network + notify_desktop notify_email oracle perl python routeros 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=" + dev-libs/libgcrypt + sys-devel/libtool + perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) ) + collectd_plugins_apache? ( net-misc/curl ) + collectd_plugins_ascent? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_bind? ( dev-libs/libxml2 ) + collectd_plugins_curl? ( net-misc/curl ) + collectd_plugins_curl_json? ( net-misc/curl dev-libs/yajl ) + collectd_plugins_curl_xml? ( net-misc/curl dev-libs/libxml2 ) + collectd_plugins_dbi? ( dev-db/libdbi ) + collectd_plugins_dns? ( net-libs/libpcap ) + collectd_plugins_gmond? ( sys-cluster/ganglia ) + collectd_plugins_ipmi? ( >=sys-libs/openipmi-2.0.16-r1 ) + collectd_plugins_iptables? ( >=net-firewall/iptables-1.4.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_netlink? ( >=sys-apps/iproute2-2.6.34 ) + 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_nut? ( sys-power/nut ) + collectd_plugins_onewire? ( sys-fs/owfs ) + collectd_plugins_oracle? ( >=dev-db/oracle-instantclient-basic-11.2.0.1.0 ) + collectd_plugins_perl? ( dev-lang/perl[ithreads] ( || ( sys-devel/libperl[ithreads] >=sys-devel/libperl-5.10 ) ) ) + collectd_plugins_ping? ( net-libs/liboping ) + collectd_plugins_postgresql? ( >=dev-db/postgresql-base-8.2 ) + collectd_plugins_python? ( =dev-lang/python-2* ) + collectd_plugins_routeros? ( net-libs/librouteros ) + 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_varnish? ( www-servers/varnish ) + 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}/${PN}-4.10.1"-{libperl,libiptc,noowniptc}.patch + "${FILESDIR}/${PN}-4.10.2"-{libocci,nohal}.patch + "${FILESDIR}/${PN}-4.10.3"-{lt,werror}.patch + "${FILESDIR}/${PN}-5.0.1"-varnish.patch + "${FILESDIR}/${PN}-5.0.2"-irq.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 "Checking your linux kernel configuration:" + collectd_linux_kernel_checks + else + elog "Cannot find a linux kernel configuration. Continuing anyway." + fi + fi + + enewgroup collectd + enewuser collectd -1 -1 /var/lib/collectd collectd +} + +src_prepare() { + base_src_prepare + + # There's some strange prefix handling in the default config file, resulting in + # paths like "/usr/var/..." + sed -i -e "s:@prefix@/var:/var:g" src/collectd.conf.in || die + + rm -r libltdl || die + + eautoreconf +} + +src_configure() { + # Now come the lists of os-dependent plugins. Any plugin that is not listed anywhere here + # should work independent of the operating system. + + local linux_plugins="battery cpu cpufreq disk entropy 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 + elif [[ "${plugin}" = "collectd_plugins_perl" ]]; then + if use collectd_plugins_perl && ! use perl; then + ewarn "Perl plugin disabled as perl bindings disabled by -perl use flag" + myconf+= --disable-perl + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + else + myconf+=" $(use_enable collectd_plugins_${plugin} ${plugin})" + fi + done + + # Need JAVA_HOME for java. + if use collectd_plugins_java; then + myconf+=" --with-java=$(java-config -g JAVA_HOME)" + fi + + # Need libiptc ONLY for iptables. If we try to use it otherwise bug 340109 happens. + if ! use collectd_plugins_iptables; then + myconf+=" --with-libiptc=no" + fi + + # The perl bindings + myconf+=" $(use_with perl perl-bindings)" + + # Finally, run econf. + KERNEL_DIR="${KERNEL_DIR}" econf --config-cache --without-included-ltdl $(use_enable static-libs static) --localstatedir=/var ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die + + fixlocalpod + + find "${D}/usr/" -name "*.la" -exec rm -f {} + + rm "${D}/usr/$(get_libdir)"/collectd/*.a + + # use collectd_plugins_ping && setcap cap_net_raw+ep ${D}/usr/sbin/collectd + # we cannot do this yet + + fowners root:collectd /etc/collectd.conf + fperms u=rw,g=r,o= /etc/collectd.conf + + dodoc AUTHORS ChangeLog NEWS README TODO + + if use contrib ; then + insinto /usr/share/doc/${PF} + doins -r contrib + fi + + keepdir /var/lib/${PN} + fowners collectd:collectd /var/lib/${PN} + + newinitd "${FILESDIR}/${PN}.initd" ${PN} + newconfd "${FILESDIR}/${PN}.confd" ${PN} + + insinto /etc/logrotate.d + newins "${FILESDIR}/logrotate" collectd + + sed -i -e 's:^.*PIDFile "/var/run/collectd.pid":PIDFile "/var/run/collectd/collectd.pid":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^# SocketFile "/var/run/collectd-unixsock":# SocketFile "/var/run/collectd/collectd-unixsock":' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin perl$:# The new, correct way to load the perl plugin -- \n# <LoadPlugin perl>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# <LoadPlugin python>\n# Globals true\n# </LoadPlugin>:' "${D}"/etc/collectd.conf || die +} + +collectd_rdeps() { + if (use collectd_plugins_${1} && ! has_version "${2}"); then + elog "The ${1} plug-in needs ${2} to be installed locally or remotely to work." + fi +} + +pkg_postinst() { + collectd_rdeps apcups sys-power/apcupsd + collectd_rdeps hddtemp app-admin/hddtemp + collectd_rdeps mbmon sys-apps/xmbmon + collectd_rdeps memcached ">=net-misc/memcached-1.2.2-r2" + collectd_rdeps ntpd net-misc/ntp + collectd_rdeps openvpn ">=net-misc/openvpn-2.0.9" + + echo + elog "collectd is now started as unprivileged user by default." + elog "You may want to recheck the configuration." + elog + + if use collectd_plugins_email; then + ewarn "The email plug-in is deprecated. To submit statistics please use the unixsock plugin." + fi + if use contrib; then + elog "The scripts in /usr/share/doc/${PF}/collection3 for generating graphs need dev-perl/HTML-Parser," + elog "dev-perl/config-general, dev-perl/regexp-common, and net-analyzer/rrdtool[perl] to be installed." + fi + + if [[ ${REPLACING_VERSIONS} < 5 ]]; then + ewarn "Version 5 of collectd uses a database format different from version 4. You will" + ewarn "have to migrate your database after the upgrade, following the guide at" + ewarn " http://www.collectd.org/wiki/index.php/V4_to_v5_migration_guide" + fi +} diff --git a/app-admin/collectd/files/collectd-5.0.2-irq.patch b/app-admin/collectd/files/collectd-5.0.2-irq.patch new file mode 100644 index 000000000000..ceee96d6edde --- /dev/null +++ b/app-admin/collectd/files/collectd-5.0.2-irq.patch @@ -0,0 +1,76 @@ +From c72720c41bb2577b1b9db9e12b299869708491c7 Mon Sep 17 00:00:00 2001 +From: Bostjan Skufca <bostjan@a2o.si> +Date: Fri, 3 Feb 2012 03:10:08 +0100 +Subject: [PATCH] Changes in irq plugin: + - fixes errors described here: http://mailman.verplant.org/pipermail/collectd/2011-July/004638.html + - refactored parsing code in order to make it a bit more intuitive + - added a few additional comments + +--- + src/irq.c | 24 +++++++++++++++++++++--- + 1 files changed, 21 insertions(+), 3 deletions(-) + +diff --git a/src/irq.c b/src/irq.c +index 96bf7f0..f3d5730 100644 +--- a/src/irq.c ++++ b/src/irq.c +@@ -94,6 +94,8 @@ static int irq_read (void) + { + FILE *fh; + char buffer[1024]; ++ int cpu_count; ++ char *fields[64]; + + fh = fopen ("/proc/interrupts", "r"); + if (fh == NULL) +@@ -104,20 +106,36 @@ static int irq_read (void) + return (-1); + } + ++ /* Get CPU count from the first line */ ++ if(fgets (buffer, sizeof (buffer), fh) != NULL) { ++ cpu_count = strsplit (buffer, fields, 64); ++ } else { ++ ERROR ("irq plugin: unable to get CPU count from first line of /proc/interrupts"); ++ return (-1); ++ } ++ + while (fgets (buffer, sizeof (buffer), fh) != NULL) + { + char *irq_name; + size_t irq_name_len; + derive_t irq_value; + int i; +- +- char *fields[64]; + int fields_num; ++ int irq_values_to_parse; + + fields_num = strsplit (buffer, fields, 64); + if (fields_num < 2) + continue; + ++ /* Parse this many numeric fields, skip the rest ++ * (+1 because first there is a name of irq in each line) */ ++ if (fields_num >= cpu_count+1) { ++ irq_values_to_parse = cpu_count; ++ } else { ++ irq_values_to_parse = fields_num - 1; ++ } ++ ++ /* First field is irq name */ + irq_name = fields[0]; + irq_name_len = strlen (irq_name); + if (irq_name_len < 2) +@@ -132,7 +150,7 @@ static int irq_read (void) + irq_name_len--; + + irq_value = 0; +- for (i = 1; i < fields_num; i++) ++ for (i = 1; i <= irq_values_to_parse; i++) + { + /* Per-CPU value */ + value_t v; +-- +1.7.3.4 + diff --git a/app-admin/collectd/files/collectd.initd b/app-admin/collectd/files/collectd.initd index 02cdc8cf539f..1dd6e513d80e 100644 --- a/app-admin/collectd/files/collectd.initd +++ b/app-admin/collectd/files/collectd.initd @@ -1,14 +1,14 @@ #!/sbin/runscript -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 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.5 2011/08/25 21:02:37 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/files/collectd.initd,v 1.6 2012/02/07 20:12:03 dilfridge Exp $ : ${COLLECTD_PIDFILE:='/var/run/collectd/collectd.pid'} : ${COLLECTD_CFGFILE:='/etc/collectd.conf'} : ${COLLECTD_NICELVL:='5'} : ${COLLECTD_USER:='collectd'} -opts="${opts} configtest" +extra_commands="configtest" depend() { use net @@ -58,4 +58,3 @@ stop() { --pidfile "${COLLECTD_PIDFILE}" eend $? "Failed to stop collectd" } - diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml index 5eeae481f8d3..0ee0821c992c 100644 --- a/app-admin/collectd/metadata.xml +++ b/app-admin/collectd/metadata.xml @@ -77,6 +77,7 @@ <flag name='collectd_plugins_python'>Build the python language binding plugin (embeds a Python interpreter into collectd for writing plugins)</flag> <flag name='collectd_plugins_rrdcached'>Build the rrdcached input/output plugin (connects to rrdcached and submits updates for RRD files)</flag> <flag name='collectd_plugins_rrdtool'>Build the rrdtool output plugin (writes values to RRD-files)</flag> + <flag name='collectd_plugins_routeros'>Build the routeros input plugin (collect information on devices running RouterOS)</flag> <flag name='collectd_plugins_sensors'>Build the sensors input plugin (uses lm-sensors to read hardware sensors)</flag> <flag name='collectd_plugins_serial'>Build the serial input plugin (collects the traffic on serial interfaces)</flag> <flag name='collectd_plugins_snmp'>Build the snmp input plugin (read values from network devices using SNMP)</flag> |