Mercurial > hg > portage
diff app-admin/collectd/collectd-4.4.1.ebuild @ 43:365d3f380d8d
pulled in changes from Holgi
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Fri, 20 Jun 2008 15:09:02 +0200 |
parents | 9283c4b8218f |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app-admin/collectd/collectd-4.4.1.ebuild Fri Jun 20 15:09:02 2008 +0200 @@ -0,0 +1,239 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit autotools eutils flag-o-matic linux-info + +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 apcups dns email hal hddtemp ithreads lighttpd lm_sensors memcache + mysql network nfs nginx ntp nut perl qemu rrdtool snmp syslog vserver xen +" + +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 + + if ( !(linux_chkconfig_present ACPI_BATTERY) ); then einfo + ewarn "ACPI_BATTERY needs to be enabled in your kernel for the battery plug-in to work correctly"; fi + if ( !(linux_chkconfig_present CPU_FREQ) ); then einfo + ewarn "CPU_FREQ needs to be enabled in your kernel for the cpufreq plug-in to work correctly"; fi + if ( !(linux_chkconfig_present SERIAL_CORE) ); then einfo + ewarn "SERIAL_CORE needs to be enabled in your kernel for the serial plug-in to work correctly"; fi + if ( !(linux_chkconfig_present SWAP) ); then einfo + ewarn "SWAP needs to be enabled in your kernel for the swap plug-in to work correctly"; fi + if ( (use vserver) && !(linux_chkconfig_present IP_VS) ); then einfo + ewarn "IP_VS should to be enabled in your kernel when the USE flag vserver is enabled"; fi + if (use qemu && !(built_with_use libvirt qemu) ); then + die "USE flag qemu requires that libvirt was compiled with the USE flag qemu"; fi + if (use xen && !(built_with_use libvirt xen) ); then + die "USE flag xen requires that libvirt was compiled with the USE flag xen"; fi + + if (use perl); then + if (use ithreads); then + (built_with_use perl ithreads) \ + || die "The perl plug-in requires that libperl was compiled with the USE flag ithreads" + else + einfo + ewarn "The perl plug-in requires the ithreads USE flag." + fi + fi + einfo + + if ( !(linux_chkconfig_present PROC_FS) ); then + ## 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 + + if ( !(use network) ); then + if ( use dns ); then die "The USE flag dns requires that the USE flag network is enabled"; fi + if ( use email ); then die "The USE flag email 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 +} + +src_unpack() { + if [ "${A}" != "" ]; then + unpack ${A} + fi + + cd ${S} + + sed -i -e '/^AC_PLUGIN/ s/\ [[].*[]],/[no],/' \ + configure.in \ + || die "sed no-automagic-patch failed" + + eautoreconf \ + || die "eautoreconf failed" +} + +src_compile() +{ + local myconf + local disabled_plugins + + ### NEEDS TO BE FIXED PROBABLY + append-flags -I/usr/src/linux/include + + if ( use apache2 || use lighttpd ); + then myconf="${myconf} --enable-apache"; fi + myconf="${myconf} $(use_enable apcups)" + myconf="${myconf} --disable-apple_sensors" ## DISABLED + disabled_plugins="${disabled_plugins} apple_sensors" + myconf="${myconf} --enable-battery" ## Kernel check PROCFS + myconf="${myconf} --enable-cpu" ## PROCFS + myconf="${myconf} --enable-cpufreq" ## Kernel check SYSFS + myconf="${myconf} --enable-csv" ## no checks + myconf="${myconf} --enable-df" ## no checks + myconf="${myconf} --enable-disk" ## PROCFS + myconf="${myconf} $(use network && use_enable dns)" + myconf="${myconf} $(use network && use_enable email)" + myconf="${myconf} --enable-entropy" ## PROCFS + myconf="${myconf} --disable-exec" ## NEEDS USERS + disabled_plugins="${disabled_plugins} exec" + myconf="${myconf} $(use_enable hddtemp)" ## PROCFS + myconf="${myconf} $(use_enable network interface)" ## PROCFS + myconf="${myconf} --disable-iptables" ## BREAKS + disabled_plugins="${disabled_plugins} iptables" + myconf="${myconf} $(use network && use_enable vserver ipvs)" ## Kernel check NEEDS CFLAGS -I -- FIX LATER + myconf="${myconf} --enable-irq" ## PROCFS + if ( use qemu || use xen ); then ## NEEDS KERNEL CHECK + myconf="${myconf} --enable-libvirt"; fi + myconf="${myconf} --enable-load" ## PROCFS + myconf="${myconf} --enable-logfile" ## no checks + myconf="${myconf} --disable-mbmon" ## COULD NOT FIND DAEMON + disabled_plugins="${disabled_plugins} mbmon" + myconf="${myconf} $(use_enable memcache memcached)" + myconf="${myconf} --enable-memory" ## PROCFS + myconf="${myconf} --enable-multimeter" + myconf="${myconf} $(use_enable mysql)" + myconf="${myconf} --disable-netlink" ## BREAKS + disabled_plugins="${disabled_plugins} netlink" + myconf="${myconf} $(use_enable network)" ## NO PROCFS + myconf="${myconf} $(use network && use_enable nfs)" ## PROCFS + myconf="${myconf} $(use_enable nginx)" + myconf="${myconf} $(use network && use_enable ntp ntpd)" + myconf="${myconf} $(use_enable nut)" + myconf="${myconf} $(use ithreads && use_enable perl)" + myconf="${myconf} $(use_with perl perl-bindings)" + myconf="${myconf} $(use_enable network ping)" + myconf="${myconf} --enable-processes" ## PROCFS + myconf="${myconf} $(use_enable rrdtool)" + myconf="${myconf} $(use_enable lm_sensors sensors)" + myconf="${myconf} --enable-serial" ## Kernel check PROCFS + myconf="${myconf} $(use network && use_enable snmp)" + myconf="${myconf} --enable-swap" ## Kernel check PROCFS + myconf="${myconf} $(use_enable syslog)" + myconf="${myconf} --disable-tape" ## SOLARIS ??? + disabled_plugins="${disabled_plugins} tape" + myconf="${myconf} $(use_enable network tcpconns)" ## PROCFS + myconf="${myconf} $(use_enable network unixsock)" + myconf="${myconf} --enable-users" + myconf="${myconf} --enable-uuid" ## Depends on hal or dmidecode PROCFS + myconf="${myconf} $(use network && use_enable vserver)" ## PROCFS + myconf="${myconf} $(use_enable network wireless)" ## NEEDS KERNEL CHECK ## PROCFS + myconf="${myconf} --disable-xmms" ## NOT IN GENTOO + disabled_plugins="${disabled_plugins} xmms" + + einfo + elog "The following plug-ins have been disabled in the ebuild" + elog ${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 + dodoc AUTHORS ChangeLog NEWS README TODO \ + || die "dodoc failed" + + 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" + + + keepdir /var/lib/collectd \ + || die "keepdir failed" + + newinitd "${FILESDIR}/${PN}-4.3.2.initd" ${PN} \ + || die "newinitd failed" + + newconfd "${FILESDIR}/${PN}-4.3.2.confd" ${PN} \ + || 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 +}