diff options
author | Andreas Hüttel <dilfridge@gentoo.org> | 2011-09-17 22:48:14 +0000 |
---|---|---|
committer | Andreas Hüttel <dilfridge@gentoo.org> | 2011-09-17 22:48:14 +0000 |
commit | c665f6f09daa73bb8e3bfef92646bf723cf81a76 (patch) | |
tree | e4e129112ddba1e87fde5ba9703aa48ff9d290e4 /app-admin | |
parent | x86 stable wrt security bug #381799 (diff) | |
download | historical-c665f6f09daa73bb8e3bfef92646bf723cf81a76.tar.gz historical-c665f6f09daa73bb8e3bfef92646bf723cf81a76.tar.bz2 historical-c665f6f09daa73bb8e3bfef92646bf723cf81a76.zip |
Add support for varnish plugin and fix bug 380297
Package-Manager: portage-2.1.10.17/cvs/Linux x86_64
Diffstat (limited to 'app-admin')
-rw-r--r-- | app-admin/collectd/ChangeLog | 8 | ||||
-rw-r--r-- | app-admin/collectd/Manifest | 32 | ||||
-rw-r--r-- | app-admin/collectd/collectd-5.0.0-r2.ebuild | 356 | ||||
-rw-r--r-- | app-admin/collectd/files/collectd-5.0.0-varnish.patch | 64 | ||||
-rw-r--r-- | app-admin/collectd/metadata.xml | 1 |
5 files changed, 445 insertions, 16 deletions
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 <dilfridge@gentoo.org> + +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 <dilfridge@gentoo.org> 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: <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 + 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 @@ <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_varnish'>Build the varnish input plugin</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> |