Mercurial > hg > portage
diff app-admin/collectd/collectd-4.3.2.ebuild @ 9:df0553df6852
update collectd to 4.3.2
author | holger@hoho.dyndns.org |
---|---|
date | Wed, 09 Apr 2008 18:01:13 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app-admin/collectd/collectd-4.3.2.ebuild Wed Apr 09 18:01:13 2008 +0200 @@ -0,0 +1,314 @@ +# 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-2" + +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 disabled_plugins + + ### NEEDS TO BE FIXED PROBABLY + append-flags -I/usr/src/linux/include + + ################################################# + + 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 ( linux_chkconfig_present PROC_FS ); then + myconf="${myconf} --enable-battery" + if ( !(linux_chkconfig_present ACPI_BATTERY) ); then + ewarn "ACPI_BATTERY needs to be enabled in your kernel for the battery plug-in to work correctly" + fi + myconf="${myconf} --enable-cpu" + myconf="${myconf} --enable-cpufreq" + if ( !(linux_chkconfig_present CPU_FREQ) ); then + ewarn "CPU_FREQ needs to be enabled in your kernel for the cpufreq plug-in to work correctly" + fi + 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" + if ( !(linux_chkconfig_present SERIAL_CORE) ); then + ewarn "SERIAL_CORE needs to be enabled in your kernel for the serial plug-in to work correctly" + fi + myconf="${myconf} --enable-swap" + if ( !(linux_chkconfig_present SWAP) ); then + ewarn "SWAP needs to be enabled in your kernel for the swap plug-in to work correctly" + fi + myconf="${myconf} --enable-users" + + ### 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)" + myconf="${myconf} $(use_enable vserver)" + myconf="${myconf} $(use_enable vserver ipvs)" #NEEDS CFLAGS -I -- FIX LATER + if ( (use vserver) && !(linux_chkconfig_present IP_VS) ); then + ewarn "IP_VS should to be enabled in your kernel when the USE flag vserver is enabled" + fi + else + myconf="${myconf} \ + --disable-dns --without-libpcap + --disable-nfs + --disable-ntpd + --disable-snmp + --disable-vserver + --disable-ipvs + " + if ( use dns ); then die "The USE flag dns requires that the USE flag network is enabled"; fi + if ( use nfs ); then die "The USE flag nfs requires that the USE flag network is enabled"; fi + if ( use ntp ); then die "The USE flag ntp requires that the USE flag network is enabled"; fi + if ( use snmp ); then die "The USE flag snmp requires that the USE flag network is enabled"; fi + if ( use vserver ); then die "The USE flag vserver requires that the USE flag network is enabled"; 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 your 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" + + ### 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 + 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" + einfo +}