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
+}