From: Andreas Hüttel Date: Sat, 17 Sep 2011 22:48:14 +0000 (+0000) Subject: Add support for varnish plugin and fix bug 380297 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=c665f6f09daa73bb8e3bfef92646bf723cf81a76;p=gentoo.git Add support for varnish plugin and fix bug 380297 Package-Manager: portage-2.1.10.17/cvs/Linux x86_64 --- diff --git a/app-admin/collectd/ChangeLog b/app-admin/collectd/ChangeLog index cb48de0ae76c..98348a66c57a 100644 --- a/app-admin/collectd/ChangeLog +++ b/app-admin/collectd/ChangeLog @@ -1,6 +1,12 @@ # 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.27 2011/08/26 20:36:03 dilfridge Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/ChangeLog,v 1.28 2011/09/17 22:48:14 dilfridge Exp $ + +*collectd-5.0.0-r2 (17 Sep 2011) + + 17 Sep 2011; Andreas K. Huettel + +collectd-5.0.0-r2.ebuild, +files/collectd-5.0.0-varnish.patch: + Add support for varnish plugin and fix bug 380297 26 Aug 2011; Andreas K. Huettel collectd-5.0.0-r1.ebuild: diff --git a/app-admin/collectd/Manifest b/app-admin/collectd/Manifest index c70ebc9c065f..94b4ad91e6c5 100644 --- a/app-admin/collectd/Manifest +++ b/app-admin/collectd/Manifest @@ -9,6 +9,7 @@ AUX collectd-4.10.2-libocci.patch 720 RMD160 c90872f76a771076efe500c78dc3e3a5545 AUX collectd-4.10.2-nohal.patch 888 RMD160 a7d5969f3119f44eeb1b163d13bfd86c727854f3 SHA1 275e928e2bbad3b01d7e129793922d48348334fa SHA256 d1b8fccc96289c42e6aa33187bfca250ae0152a44d5cfba41ccf9e941a6aa799 AUX collectd-4.10.3-lt.patch 1006 RMD160 b7eee4c9261af6ac3d330494746b922792241bac SHA1 ce2f25fbb84912bce137866faecf147d4da4ee57 SHA256 b5640f7a029366d33d6821f8efe203097d56c0193ec39e1e52d93bc7723179c7 AUX collectd-4.10.3-werror.patch 849 RMD160 1bf304deb3addbdeb4d7e12ea06f49dd3f85e387 SHA1 07f8c063f788c77e2958f2490bc910296a9db25e SHA256 c9b70f892f96c0d5da5d65702679bc0b4a38b4e77ff819f69c03ad68cc3f68fd +AUX collectd-5.0.0-varnish.patch 4122 RMD160 8674c631d7b6906dae0ba1446852d7a6f6b644af SHA1 7bc294830f2740d0a0261dda6072eac144ad4b80 SHA256 781cd9773c198824db629487bffdc09e93aa924dae2b3d27f4d20660f2e340fb 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.confd 865 RMD160 edf4e29bc193128d913443ba5251935726b13194 SHA1 0987c9546a814d0f6c888f46828ad66b3a190a97 SHA256 c24b11a65cb25587aa534c529a2b394b7c190ac44e1849ea5e1bc02d1e0a1592 @@ -18,22 +19,23 @@ DIST collectd-4.10.3.tar.bz2 1343806 RMD160 3c6257880de6385ee0ad891b5e8fff091696 DIST collectd-5.0.0.tar.bz2 1372805 RMD160 7b0b9060a4dbde937fa2263076fdd81f328f46aa SHA1 720746ee2542ddec9ef7b42b5f3e00412d1b3b43 SHA256 2df6ef3b90d588b82a16da479ad652fdd5837fb9e6fd04b728c6427a3d767e3c EBUILD collectd-4.10.3-r1.ebuild 12528 RMD160 2ad40970131dc4bc194a9d109d3120767b1d68c4 SHA1 46d610c1107d8f51aa5627e6a8ac1d036bf6a593 SHA256 c2b7de77077f354dc676b7d4785943037972803f238f1d3bb8a4d3aa5a256cda EBUILD collectd-5.0.0-r1.ebuild 12903 RMD160 3b9b1d9dbe1e3862c7811bc3921a84d4556a9ffa SHA1 c9666d55467fbd10ad50a4585857af19db580ca3 SHA256 545ca644b98970d4eedef9058470ea76a01817b90c4cad71c886ac600f903efe -MISC ChangeLog 5888 RMD160 03f0d7d0fc3b310fc7ff190e4a4dfaf089989896 SHA1 414d342c0d027498598d5e22dc24a00add986c58 SHA256 3b030a1d8f318b59d38eac27c64e6a8fc5743a43faa9f1d0ee072b8e2c4f4e20 -MISC metadata.xml 11715 RMD160 f1d8ec0ec2200724b17c68c4e278d9ef4c39a74b SHA1 704f0de56da1238f03e3d81cbb3171e7597b57b6 SHA256 3c2720d156b655f04f75e21a2da23b700e293cd0a202b7055d5ea16f7a38c2e8 +EBUILD collectd-5.0.0-r2.ebuild 12996 RMD160 5e5ecc67f2b206e3d4c1cf1c014123a147b6ec4e SHA1 6fb1867f1529d8cf2a73a1b10656257e7239931e SHA256 675b625a33de100858da8ccfbc73c9469e9086d7594a87d3285eddb6bdf59a90 +MISC ChangeLog 6098 RMD160 6979840a3172d2df48204899d79e1826d805bfba SHA1 e0265ba244e856a0ccd8367f4d4d3dbd44ae44db SHA256 310bd5fc949c526260b0450bb3404ffe886e50bb8473de7272e6266c05fbdaa6 +MISC metadata.xml 11794 RMD160 4423cdc6907f75b68547eeaf0dbd633be93e36b5 SHA1 815d5377319e337ea48e31d74072ac9a0b1080e3 SHA256 68d478e935c5acb0f3bd459524f5973b124d6d3a0360b91c6ccd15053e0ae640 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iQIcBAEBCgAGBQJOWAPGAAoJENwGBM22xffe/rEQAKIcCZywf+Rl1Gh34jr0I9sY -Bk2Dx/BqlcgV57qeK3bVe4iKCUZBD4pTq9/nl53bDVTA5qIYo4YPZt2xkHv/LbzG -XMochqLGip7+ub2XbzDsTRUJrCLgmbGj5MA29SZqNl2WF/X/Z+MXkI2AT5lMGPwD -23HxAZS+R0H1Uew90EHYX3u65L3wQyriwcS5xgHYeev1v6mQyXqVo9yGQJ0Q0gmH -VWZNTzAW9iHs8lcFEHkqRQhzJhOS9tDM/F9W/25/BdSX597yrC1WlPdReQzBdbyA -gfIdkVhWq9i7pWF6sVvjca2FLsjko6sVPt82JPMige6GVDTf29HzzRkI9Emgy7YN -QkXf+ZkSFXEkJYCOa9B8iIg2uw0gVvZXEqXjv+pFS95cKDNMEhSqmgm4L+rQB9Al -kJabVaPwptLN82sex73TJieBMunPZyj3LT2KAMLVS1ccXrH8jAkOU+3q1rjadNrK -/sFwosCExxaH4DrdWOIgWqbhqPArZiIqxEQeX1krIPQ7Qgm2b3Ex5ZkOltPAdvNj -+EuYlpxvSuBNrNNQ0680lw9hhnKNiJoQcoRn0aA3k9doqMU3ysxeolJBwqxe2cG5 -Im8e3b0BVUy4xrzyg0jbwlg6UM7gMX/mxP1pWmtyvOkW9lIBH8DKg392pBfCXODb -OBk1wq2U0Wf4puyVXPH7 -=6jo1 +iQIcBAEBCgAGBQJOdSPgAAoJEEb+UGWnxTyH7f8P/j09HR9G3xZjtnhOGbfAOtR4 +nkSVi1nXen6YEw0/ZpRobE9A3BGPoqklkCHK03Iz60naNCIIWf/vi1sfrDXUHlh5 +yDD+DLCVTy9Dm/ZdxU57ENieg7URL4BkAV4vNmgSkA0HkJNWytYPJrht/sibBVRr +bLE3AY/N806364gIAIXu/XIw36IEdVXWFm+Bo0uEfzgk4CthvCuDxPGy5jW+vAAy +C4sfaU51gfo+1izWXzZiyIpCtAAOHn+R6D1BgQ5FBTSxL2oVJWtTXAICMiOOIWZ6 +veR2OJhcUo78FH8R8nWq03ZJSyX9AdHtRa63eVaSWO1U2e8ySPOVMicaMu4V4h7t +7T1vVp7Geelw/+nbdFTOXkBuasnEPjJzjG1vtzQ/qSbk3RjX0NTzaQ1LNerrQbTs +GNIlbo8BayZtWWISExlLUayYV88IGNQhLY4Yshv42AdgUwQOjMTUjRSUJP8qBhXf +qQ2WRDfwvJ0lyAK7QagZqIeviE+dS95JqtwPu6CyNt3HivH92q2bgnFZgKZndc9r +En5xiwXDd2dW/u/wqxaGuujPxRmQWSH5i/Rkm6X83+JVCF1JsIRyZu1Ia2ILKtaH +34azzhA0foS7dc+ohT2xeH8jmJlDCi7gdmFFfZvLGNW7ePqKALpQYY555Xm3oxhS +sjDjFZO6sMhO17/NvHK5 +=rnX9 -----END PGP SIGNATURE----- diff --git a/app-admin/collectd/collectd-5.0.0-r2.ebuild b/app-admin/collectd/collectd-5.0.0-r2.ebuild new file mode 100644 index 000000000000..7f7625d43354 --- /dev/null +++ b/app-admin/collectd/collectd-5.0.0-r2.ebuild @@ -0,0 +1,356 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-admin/collectd/collectd-5.0.0-r2.ebuild,v 1.1 2011/09/17 22:48:14 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 routeros 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 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_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,libnotify-0.7,nohal}.patch + "${FILESDIR}/${PN}-4.10.3"-{lt,werror}.patch + "${FILESDIR}/${PN}-5.0.0"-yajl2.patch + "${FILESDIR}/${PN}-5.0.0"-yajl2-2.patch + "${FILESDIR}/${PN}-5.0.0"-varnish.patch + ) + +# @FUNCTION: collectd_plugin_kernel_linux +# @DESCRIPTION: +# USAGE: +# 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# \n# Globals true\n# :' "${D}"/etc/collectd.conf || die + sed -i -e 's:^.*LoadPlugin python$:# The new, correct way to load the python plugin -- \n# \n# Globals true\n# :' "${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 + ewarn + 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" + ewarn +} diff --git a/app-admin/collectd/files/collectd-5.0.0-varnish.patch b/app-admin/collectd/files/collectd-5.0.0-varnish.patch new file mode 100644 index 000000000000..43870d5cc750 --- /dev/null +++ b/app-admin/collectd/files/collectd-5.0.0-varnish.patch @@ -0,0 +1,64 @@ +diff --git a/src/varnish.c b/src/varnish.c +index 859df21..37fd4bb 100644 +--- a/src/varnish.c ++++ b/src/varnish.c +@@ -307,9 +307,9 @@ static void varnish_monitor (const user_config_t *conf, struct varnish_stats *VS + /* outstanding allocations */ + varnish_submit_gauge (conf->instance, "sm", "requests", "outstanding", VSL_stats->sm_nobj); + /* bytes allocated */ +- varnish_submit_gauge (conf->instance, "sm", "total_bytes", "allocated", VSL_stats->sm_balloc); ++ varnish_submit_derive (conf->instance, "sm", "total_bytes", "allocated", VSL_stats->sm_balloc); + /* bytes free */ +- varnish_submit_gauge (conf->instance, "sm", "total_bytes", "free", VSL_stats->sm_bfree); ++ varnish_submit_derive (conf->instance, "sm", "total_bytes", "free", VSL_stats->sm_bfree); + } + + if (conf->collect_sma) +@@ -321,9 +321,9 @@ static void varnish_monitor (const user_config_t *conf, struct varnish_stats *VS + /* SMA outstanding bytes */ + varnish_submit_gauge (conf->instance, "sma", "bytes", "outstanding", VSL_stats->sma_nbytes); + /* SMA bytes allocated */ +- varnish_submit_gauge (conf->instance, "sma", "total_bytes", "allocated", VSL_stats->sma_balloc); ++ varnish_submit_derive (conf->instance, "sma", "total_bytes", "allocated", VSL_stats->sma_balloc); + /* SMA bytes free */ +- varnish_submit_gauge (conf->instance, "sma", "total_bytes", "free" , VSL_stats->sma_bfree); ++ varnish_submit_derive (conf->instance, "sma", "total_bytes", "free" , VSL_stats->sma_bfree); + } + + if (conf->collect_sms) +@@ -335,9 +335,9 @@ static void varnish_monitor (const user_config_t *conf, struct varnish_stats *VS + /* SMS outstanding bytes */ + varnish_submit_gauge (conf->instance, "sms", "bytes", "outstanding", VSL_stats->sms_nbytes); + /* SMS bytes allocated */ +- varnish_submit_gauge (conf->instance, "sms", "total_bytes", "allocated", VSL_stats->sms_balloc); ++ varnish_submit_derive (conf->instance, "sms", "total_bytes", "allocated", VSL_stats->sms_balloc); + /* SMS bytes freed */ +- varnish_submit_gauge (conf->instance, "sms", "total_bytes", "free", VSL_stats->sms_bfree); ++ varnish_submit_derive (conf->instance, "sms", "total_bytes", "free", VSL_stats->sms_bfree); + } + + if (conf->collect_totals) +@@ -363,17 +363,17 @@ static void varnish_monitor (const user_config_t *conf, struct varnish_stats *VS + /* worker threads */ + varnish_submit_gauge (conf->instance, "workers", "threads", "worker", VSL_stats->n_wrk); + /* worker threads created */ +- varnish_submit_gauge (conf->instance, "workers", "total_threads", "created", VSL_stats->n_wrk_create); ++ varnish_submit_derive (conf->instance, "workers", "total_threads", "created", VSL_stats->n_wrk_create); + /* worker threads not created */ +- varnish_submit_gauge (conf->instance, "workers", "total_threads", "failed", VSL_stats->n_wrk_failed); ++ varnish_submit_derive (conf->instance, "workers", "total_threads", "failed", VSL_stats->n_wrk_failed); + /* worker threads limited */ +- varnish_submit_gauge (conf->instance, "workers", "total_threads", "limited", VSL_stats->n_wrk_max); ++ varnish_submit_derive (conf->instance, "workers", "total_threads", "limited", VSL_stats->n_wrk_max); + /* queued work requests */ +- varnish_submit_gauge (conf->instance, "workers", "total_requests", "queued", VSL_stats->n_wrk_queue); ++ varnish_submit_derive (conf->instance, "workers", "total_requests", "queued", VSL_stats->n_wrk_queue); + /* overflowed work requests */ +- varnish_submit_gauge (conf->instance, "workers", "total_requests", "overflowed", VSL_stats->n_wrk_overflow); ++ varnish_submit_derive (conf->instance, "workers", "total_requests", "overflowed", VSL_stats->n_wrk_overflow); + /* dropped work requests */ +- varnish_submit_gauge (conf->instance, "workers", "total_requests", "dropped", VSL_stats->n_wrk_drop); ++ varnish_submit_derive (conf->instance, "workers", "total_requests", "dropped", VSL_stats->n_wrk_drop); + } + } /* }}} void varnish_monitor */ + diff --git a/app-admin/collectd/metadata.xml b/app-admin/collectd/metadata.xml index 2cd9c617fe80..16ab00aa9114 100644 --- a/app-admin/collectd/metadata.xml +++ b/app-admin/collectd/metadata.xml @@ -98,6 +98,7 @@ Build the unixsock output plugin (opens a UNIX domain socket and accepts connections) Build the users input plugin (number of users currently logged in) Build the uuid plugin (tries hard to determine the UUID of the system it is running on) + Build the varnish input plugin Build the vmem input plugin (information about the virtual memory subsystem) Build the vserver input plugin (virtual servers running on a system) Build the wireless input plugin (signal quality, signal power and signal-to-noise ratio for wireless LAN cards)