# HG changeset patch # User holger@hoho.dyndns.org # Date 1206474634 -3600 # Node ID 0ea7846e04f101c6fe4d5fe636ae88c1365a455d # Parent dab1199d98298eeaba9507cb5676d35bb84243fc new ebuild: collectd diff -r dab1199d9829 -r 0ea7846e04f1 app-admin/collectd/Manifest --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app-admin/collectd/Manifest Tue Mar 25 20:50:34 2008 +0100 @@ -0,0 +1,4 @@ +AUX collectd-4.3.1.confd 519 RMD160 f4f3a699b9e8ce3e11522a3a521089793824fffd SHA1 2477a4acab05455ea7e1072663dcb5c381f175a6 SHA256 f043ad355fd7f5d2f017207d6cec7be5ac8c27d12aca19f1fd6541ea230d24b6 +AUX collectd-4.3.1.initd 801 RMD160 3e195dba9144906e4a364635eb48236f35e81100 SHA1 b4fdf02ea754c6a6067b895213cb9b8ed4a8bb76 SHA256 edf081f989a38c77ec4f5de3050b8e7ee96a8a420e15ac02d1d0bb8546391c8d +DIST collectd-4.3.1.tar.bz2 850924 RMD160 ca29a39d790d7b100980880fa1b36e4980ef5d07 SHA1 abc338efe3d9af1bf52a08958f6656e8a4467fda SHA256 f2150bb59133fd4776c1cd84d975d5ec19f550893df48e22fe910b8f559116e9 +EBUILD collectd-4.3.1.ebuild 8802 RMD160 10fdcac304eb722f676c70eeec2246a1448331d0 SHA1 31343536776eb0106c5e68901dae60f4b3c10826 SHA256 5b62152d925382532fe71e1b2682c77280fc36881fa861cf361f7777e5e2cf60 diff -r dab1199d9829 -r 0ea7846e04f1 app-admin/collectd/collectd-4.3.1.ebuild --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app-admin/collectd/collectd-4.3.1.ebuild Tue Mar 25 20:50:34 2008 +0100 @@ -0,0 +1,318 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils linux-info flag-o-matic + +DESCRIPTION="A small daemon which collects system performance statistics" +HOMEPAGE="http://collectd.org/" + +SRC_URI="${HOMEPAGE}/files/${P}.tar.bz2" +LICENSE="GPL-3" + +SLOT="0" + +KEYWORDS="~x86 ~amd64" +IUSE=" + apache2 + lighttpd + nginx + apcups + hddtemp + network + dns + email + qemu + xen + vserver + memcache + mysql + nfs + ntp + nut + perl + rrdtool + lm_sensors + snmp + syslog + hal + ithreads +" + +DEPEND=" + apache2? ( >=net-misc/curl-7.17.0 ) + lighttpd? ( >=net-misc/curl-7.17.0 ) + nginx? ( >=net-misc/curl-7.17.0 ) + dns? ( >=net-libs/libpcap-0.9.8 ) + qemu? ( >=app-emulation/libvirt-0.3.3 ) + xen? ( >=app-emulation/libvirt-0.3.3 ) + mysql? ( >=virtual/mysql-5.0 ) + perl? ( >=dev-lang/perl-5.8.8-r4 ) + nut? ( >=sys-power/nut-2.2.0 ) + rrdtool? ( >=net-analyzer/rrdtool-1.2.27 ) + lm_sensors? ( >=sys-apps/lm_sensors-2.10.4 ) + snmp? ( >=net-analyzer/net-snmp-5.4.1-r3 ) + hal? ( >=sys-apps/hal-0.5.9.1-r3 ) + + >=dev-libs/libxml2-2.6.31 +" + +RDEPEND=" + ${DEPEND} + apcups? ( >=sys-power/apcupsd-3.14.2 ) + hddtemp? ( >=app-admin/hddtemp-0.3_beta15-r3 ) + memcache? ( >=net-misc/memcached-1.2.2-r2 ) + ntp? ( >=net-misc/ntp-4.2.4_p4 ) + syslog? ( virtual/logger ) + !hal? ( >=sys-apps/dmidecode-2.9 ) +" + +pkg_setup() +{ + linux-info_pkg_setup +} + +src_compile() +{ + local myconf + local mykern + local disabled_plugins + + ### NEEDS TO BE FIXED PROBABLY + append-flags -I/usr/src/linux/include + + ### Kernel options + if (linux_chkconfig_present PROC_FS); then + mykern="$(mykern) proc_fs" + fi + + if (linux_chkconfig_present IP_VS); then + mykern="$(mykern) ip_vs" + fi + + ################################################# + + myconf="${myconf} + --without-libiptc + --with-liboconfig + --with-libpthread + --without-libstatgrab + --without-libxmms + " + + ### no checks + myconf="${myconf} --enable-csv" + myconf="${myconf} --enable-df" + myconf="${myconf} --enable-logfile" + myconf="${myconf} --enable-uuid" ## Depends on hal or dmidecode + + ### procfs dependents + if ( hasq proc_fs ${mykern} ); then + myconf="${myconf} --enable-battery" ## NEEDS KERNEL CHECK + myconf="${myconf} --enable-cpu" + myconf="${myconf} --enable-cpufreq" ## NEEDS KERNEL CHECK + myconf="${myconf} --enable-disk" + myconf="${myconf} --enable-entropy" + myconf="${myconf} --enable-irq" + myconf="${myconf} --enable-load" + myconf="${myconf} --enable-memory" + myconf="${myconf} --enable-processes" + myconf="${myconf} --enable-serial" + myconf="${myconf} --enable-swap" + myconf="${myconf} --enable-users" ## NEEDS KERNEL CHECK + + ### Network + myconf="${myconf} $(use_enable network interface)" + #myconf="${myconf} $(use_enable network netlink) $(use_with network libnetlink)" ## BREAKS + myconf="${myconf} --disable-netlink --without-libnetlink" + disabled_plugins="${disabled_plugins} netlink" + myconf="${myconf} $(use_enable network)" + myconf="${myconf} $(use_enable network ping) $(use_with network liboping)" + myconf="${myconf} $(use_enable network tcpconns)" + myconf="${myconf} $(use_enable network unixsock)" + myconf="${myconf} $(use_enable network wireless)" ## NEEDS KERNEL CHECK + + if ( use network ); then + myconf="${myconf} $(use_enable dns) $(use_with dns libpcap)" + myconf="${myconf} $(use_enable nfs)" + myconf="${myconf} $(use_enable ntp ntpd)" + myconf="${myconf} $(use_enable snmp) $(use_with snmp libnetsnmp)" + + if ( hasq ip_vs ${mykern} ); then + myconf="${myconf} $(use_enable vserver)" + myconf="${myconf} $(use_enable vserver ipvs)" #NEEDS CFLAGS -I -- FIX LATER + else + if ( use vserver ); then die "${P} requires that IP_VS is enabled in the kernel for the USE flag vserver"; fi + fi + else + myconf="${myconf} \ + --disable-dns --without-libpcap + --disable-nfs + --disable-ntpd + --disable-snmp + --disable-vserver + --disable-ipvs + " + + if ( use dns ); then die "USE flag dns requires USE flag network"; fi + if ( use nfs ); then die "USE flag nfs requires USE flag network"; fi + if ( use ntp ); then die "USE flag ntp requires USE flag network"; fi + if ( use snmp ); then die "USE flag snmp requires USE flag network"; fi + if ( use vserver ); then die "USE flag vserver requires USE flag network"; fi + fi + else + ### Network + if ( use network ); then die "${P} requires that PROC_FS is enabled in the kernel for the USE flag network"; fi + + die "${P} requires that PROC_FS is enabled in the kernel" ## UPDATE LATER + fi + + ### Web Servers + if ( use apache2 || use lighttpd || use nginx ); + then myconf="${myconf} --with-libcurl" + else myconf="${myconf} --without-libcurl" + fi + + if ( use apache2 || use lighttpd ); + then myconf="${myconf} --enable-apache" + else myconf="${myconf} --disable-apache" + fi + + myconf="${myconf} $(use_enable nginx)" + + ### APC UPS + myconf="${myconf} $(use_enable apcups)" + + ### Apple + myconf="${myconf} --disable-apple_sensors" ## DISABLED + disabled_plugins="${disabled_plugins} apple_sensors" + + ### Email + myconf="${myconf} $(use_enable email)" + + ### hddtemp + myconf="${myconf} $(use_enable hddtemp)" + + ### Virtualization -- NEEDS KERNEL CHECK + if ( use qemu || use xen ) + then + myconf="${myconf} --enable-libvirt"; + if (built_with_use libvirt qemu); then die "USE flag qemu requires that libvirt was compiled with the USE flag qemu"; fi + if (built_with_use libvirt xen); then die "USE flag xen requires that libvirt was compiled with the USE flag xen"; fi + else + myconf="${myconf} --disable-libvirt"; + fi + + ### Memcached + myconf="${myconf} $(use_enable memcache memcached)" + + ### Mysql + myconf="${myconf} $(use_enable mysql) $(use_with mysql libmysql)" + + ### Network UPS + myconf="${myconf} $(use_enable nut) $(use_with nut libupsclient)" + + ### Perl + if (use perl); then + myconf="${myconf} $(use_with perl libperl)" + myconf="${myconf} $(use_with perl perl-bindings)" + if (use ithreads); then + if (built_with_use perl ithreads); then myconf="${myconf} --enable-perl" + else die "The perl plug-in requires that libperl was compiled with the USE flag ithreads"; fi + else + myconf="${myconf} --disable-perl" + einfo + einfo "The perl plug-in requires the ithreads USE flag." + fi + + fi + + ### RRDtool + myconf="${myconf} $(use_enable rrdtool) $(use_with rrdtool)" + + ### lm_sensors + myconf="${myconf} $(use_enable lm_sensors sensors) $(use_with lm_sensors lm-sensors)" + + ### Syslog + myconf="${myconf} $(use_enable syslog)" + + ### DISABLED + myconf="${myconf} --disable-exec" ## NEEDS USERS + disabled_plugins="${disabled_plugins} exec" + myconf="${myconf} --disable-iptables" ## BREAKS + disabled_plugins="${disabled_plugins} iptables" + myconf="${myconf} --disable-mbmon" ## COULD NOT FIND DAEMON + disabled_plugins="${disabled_plugins} mbmon" + myconf="${myconf} --disable-multimeter" ## DISABLED + disabled_plugins="${disabled_plugins} multimeter" + myconf="${myconf} --disable-tape" ## SOLARIS ??? + disabled_plugins="${disabled_plugins} tape" + myconf="${myconf} --disable-xmms" ## NOT IN GENTOO + disabled_plugins="${disabled_plugins} xmms" + + einfo + einfo "The following plug-ins have been disabled in the ebuild" + einfo ${disabled_plugins} + einfo + + ### Configure + econf \ + ${myconf} \ + --localstatedir=/var \ + || die "econf failed" + + einfo + einfo "The above plug-ins have been configured" + einfo + ebeep 3 + + ### Build + emake \ + || die "emake failed" +} + +src_install() +{ + emake \ + DESTDIR="${D}" \ + install || die "emake install failed" + + ### Documentation + docinto contrib/SpamAssassin + dodoc contrib/SpamAssassin/* \ + || die "dodoc contrib failed" + + docinto contrib/examples + dodoc contrib/examples/* \ + || die "dodoc contrib failed" + + docinto contrib/iptables + dodoc contrib/iptables/* \ + || die "dodoc contrib failed" + docinto contrib + + docinto contrib + dodoc contrib/README contrib/*\.[a-z]* \ + || die "dodoc contrib failed" + + dodoc AUTHORS ChangeLog NEWS README TODO \ + || die "dodoc failed" + + + keepdir /var/lib/collectd \ + || die "keepdir failed" + + newinitd "${FILESDIR}/${P}.initd" collectd \ + || die "newinitd failed" + + newconfd "${FILESDIR}/${P}.confd" collectd \ + || die "newconfd failed" +} + +pkg_postinst() +{ + einfo "collectd introduced some changes in the new 4.x series." + einfo "For further information, read http://collectd.org/migrate-v3-v4.shtml" + einfo "The migration script can be found at:" + einfo "/usr/share/doc/${P}/contrib/migrate-3-4.px.bz2" +} diff -r dab1199d9829 -r 0ea7846e04f1 app-admin/collectd/files/collectd-4.3.1.confd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app-admin/collectd/files/collectd-4.3.1.confd Tue Mar 25 20:50:34 2008 +0100 @@ -0,0 +1,13 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# File used to store the PID file. Usually you won't need to touch it. +#COLLECTD_PIDFILE='/var/run/collectd.pid' + +# 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_NICE='5' + +# Location of configuration file. Modify if you don't like the standard one. +#COLLECTD_CONFIG='/etc/collectd.conf' diff -r dab1199d9829 -r 0ea7846e04f1 app-admin/collectd/files/collectd-4.3.1.initd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app-admin/collectd/files/collectd-4.3.1.initd Tue Mar 25 20:50:34 2008 +0100 @@ -0,0 +1,31 @@ +#!/sbin/runscript +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +# Assign defaults to parameters from /etc/conf.d/collectd +: ${COLLECTD_PIDFILE:='/var/run/collectd.pid'} +: ${COLLECTD_NICE:='5'} +: ${COLLECTD_CONFIG:='/etc/collectd.conf'} + +depend() +{ + after logger net firewall dns \ + lm_sensors cpufreqd nfs apache lighttpd nginx mysql +} + +start() +{ + ebegin "Starting collectd" + start-stop-daemon --start --pidfile ${COLLECTD_PIDFILE} \ + --nice ${COLLECTD_NICE} --exec /usr/sbin/collectd \ + -- -P ${COLLECTD_PIDFILE} -C ${COLLECTD_CONFIG} + eend $? "Failed to start collectd" +} + +stop() +{ + ebegin "Stopping collectd" + start-stop-daemon --stop --pidfile ${COLLECTD_PIDFILE} + eend $? "Failed to stop collectd" +}