# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-analyzer/cacti/cacti-0.8.7g-r1.ebuild,v 1.5 2010/11/25 11:53:04 armin76 Exp $ EAPI="2" inherit eutils webapp depend.php # Support for _p* in version. MY_P=${P/_p*/} HAS_PATCHES=1 IUSE_CACTI_PLUGINS="aggregate autom8 boost cycle discovery docs domains dsstats errorimage flowview hmib loginmod mobile monitor nectar realtime remote rrdclean settings slowlog spikekill superlinks thold ugroup manage camm fix64bit gpsmaps quicktree weathermap" DESCRIPTION="Cacti is a complete frontend to rrdtool" HOMEPAGE="http://www.cacti.net/" SRC_URI="http://www.cacti.net/downloads/${MY_P}.tar.gz cacti_plugins_aggregate? ( http://docs.cacti.net/_media/plugin:aggregate-v0.75.tgz ) cacti_plugins_autom8? ( http://docs.cacti.net/_media/plugin:autom8-v0.35.tgz ) cacti_plugins_boost? ( http://docs.cacti.net/_media/plugin:boost-v5.1-1.tgz ) cacti_plugins_cycle? ( http://docs.cacti.net/_media/plugin:cycle-v2.3-1.tgz ) cacti_plugins_discovery? ( http://docs.cacti.net/_media/plugin:discovery-v1.5-1.tgz ) cacti_plugins_docs? ( http://docs.cacti.net/_media/plugin:docs-v0.4-1.tgz ) cacti_plugins_domains? ( http://docs.cacti.net/_media/plugin:domains-v0.1-1.tgz ) cacti_plugins_dsstats? ( http://docs.cacti.net/_media/plugin:dsstats-v1.4-1.tgz ) cacti_plugins_flowview? ( http://docs.cacti.net/_media/plugin:flowview-v1.1-1.tgz ) cacti_plugins_errorimage? ( http://docs.cacti.net/_media/plugin:errorimage-v0.2-1.tgz ) cacti_plugins_hmib? ( http://docs.cacti.net/_media/plugin:hmib-v1.4-2.tgz ) cacti_plugins_loginmod? ( http://docs.cacti.net/_media/plugin:loginmod-latest.tgz ) cacti_plugins_mobile? ( http://docs.cacti.net/_media/plugin:mobile-latest.tgz ) cacti_plugins_monitor? ( http://docs.cacti.net/_media/plugin:monitor-v1.3-1.tgz ) cacti_plugins_nectar? ( http://docs.cacti.net/_media/plugin:nectar-v0.35a.tgz ) cacti_plugins_realtime? ( http://docs.cacti.net/_media/plugin:realtime-v0.5-2.tgz ) cacti_plugins_remote? ( http://docs.cacti.net/_media/plugin:remote_v01.tar.gz ) cacti_plugins_rrdclean? ( http://docs.cacti.net/_media/plugin:rrdclean-v0.41.tgz ) cacti_plugins_settings? ( http://docs.cacti.net/_media/plugin:settings-v0.71-1.tgz ) cacti_plugins_slowlog? ( http://docs.cacti.net/_media/plugin:slowlog-v1.3-1.tgz ) cacti_plugins_spikekill? ( http://docs.cacti.net/_media/plugin:spikekill-v1.3-2.tgz ) cacti_plugins_superlinks? ( http://docs.cacti.net/_media/plugin:superlinks-v1.4-2.tgz ) cacti_plugins_thold? ( http://docs.cacti.net/_media/plugin:thold-v0.4.9-3.tgz ) cacti_plugins_ugroup? ( http://docs.cacti.net/_media/plugin:ugroup-v0.2-2.tgz ) cacti_plugins_manage? ( http://docs.cacti.net/_media/userplugin:manage-0.6.2.zip ) cacti_plugins_camm? ( http://docs.cacti.net/_media/userplugin:cacti_plugin_camm_v1.5.3.zip ) cacti_plugins_fix64bit? ( http://docs.cacti.net/_media/userplugin:fix64bit-0.3.tar.gz ) cacti_plugins_gpsmaps? ( http://spiffdev.com/downloads/gpsmaps-downloads/39-gpsmaps/17-gpsmaps-162 ) cacti_plugins_quicktree? ( http://wotsit.thingy.com/haj/cacti/quicktree-0.2.zip ) cacti_plugins_weathermap? ( http://www.network-weathermap.com/files/php-weathermap-0.97a.zip ) " # patches if [ "${HAS_PATCHES}" == "1" ] ; then UPSTREAM_PATCHES="snmpv3_priv_proto_none" for i in ${UPSTREAM_PATCHES} ; do SRC_URI="${SRC_URI} http://www.cacti.net/downloads/patches/${PV/_p*}/${i}.patch" done fi LICENSE="GPL-2" KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86" IUSE="snmp doc plugins" for PI in $IUSE_CACTI_PLUGINS; do IUSE="$IUSE cacti_plugins_$PI";done DEPEND="" need_httpd_cgi RDEPEND="snmp? ( >=net-analyzer/net-snmp-5.1.2 ) net-analyzer/rrdtool dev-php/adodb virtual/mysql virtual/cron dev-lang/php[cli,mysql,xml,session,sockets] || ( =dev-lang/php-5.3 )" src_unpack() { unpack ${MY_P}.tar.gz if [ "${HAS_PATCHES}" == "1" ] ; then [ ! ${MY_P} == ${P} ] && mv ${MY_P} ${P} fi if ( use cacti_plugins_aggregate || use cacti_plugins_autom8 || use cacti_plugins_boost \ || use cacti_plugins_cycle || use cacti_plugins_discovery || use cacti_plugins_docs \ || use cacti_plugins_domains || use cacti_plugins_dsstats || use cacti_plugins_flowview \ || use cacti_plugins_errorimage || use cacti_plugins_hmib || use cacti_plugins_loginmod \ || use cacti_plugins_mobile || use cacti_plugins_monitor || use cacti_plugins_nectar \ || use cacti_plugins_realtime || use cacti_plugins_remote || use cacti_plugins_rrdclean \ || use cacti_plugins_settings || use cacti_plugins_slowlog || use cacti_plugins_spikekill \ || use cacti_plugins_superlinks || use cacti_plugins_thold || use cacti_plugins_ugroup \ || use cacti_plugins_manage || use cacti_plugins_camm || use cacti_plugins_fix64bit \ || use cacti_plugins_gpsmaps || use cacti_plugins_quicktree || use cacti_plugins_weathermap ); then mkdir -p ${P}/plugins cd ${P}/plugins if use cacti_plugins_aggregate ; then unpack plugin:aggregate-v0.75.tgz ; fi if use cacti_plugins_autom8 ; then unpack plugin:autom8-v0.35.tgz ; fi if use cacti_plugins_boost ; then unpack plugin:boost-v5.1-1.tgz ; fi if use cacti_plugins_cycle ; then unpack plugin:cycle-v2.3-1.tgz ; fi if use cacti_plugins_discovery ; then unpack plugin:discovery-v1.5-1.tgz ; fi if use cacti_plugins_docs ; then unpack plugin:docs-v0.4-1.tgz ; fi if use cacti_plugins_domains ; then unpack plugin:domains-v0.1-1.tgz ; fi if use cacti_plugins_dsstats ; then unpack plugin:dsstats-v1.4-1.tgz ; fi if use cacti_plugins_errorimage; then unpack plugin:errorimage-v0.2-1.tgz ; fi if use cacti_plugins_flowview ; then unpack plugin:flowview-v1.1-1.tgz ; fi if use cacti_plugins_hmib ; then unpack plugin:hmib-v1.4-2.tgz ; fi if use cacti_plugins_loginmod ; then unpack plugin:loginmod-latest.tgz ; fi if use cacti_plugins_mobile ; then unpack plugin:mobile-latest.tgz ; fi if use cacti_plugins_monitor ; then unpack plugin:monitor-v1.3-1.tgz ; fi if use cacti_plugins_nectar ; then unpack plugin:nectar-v0.35a.tgz ; fi if use cacti_plugins_realtime ; then unpack plugin:realtime-v0.5-2.tgz ; fi if use cacti_plugins_remote ; then unpack plugin:remote_v01.tar.gz ; fi if use cacti_plugins_rrdclean ; then unpack plugin:rrdclean-v0.41.tgz ; fi if use cacti_plugins_settings ; then unpack plugin:settings-v0.71-1.tgz ; fi if use cacti_plugins_slowlog ; then unpack plugin:slowlog-v1.3-1.tgz ; fi if use cacti_plugins_spikekill ; then unpack plugin:spikekill-v1.3-2.tgz ; fi if use cacti_plugins_thold ; then unpack plugin:thold-v0.4.9-3.tgz ; fi if use cacti_plugins_ugroup ; then unpack plugin:ugroup-v0.2-2.tgz ; fi if use cacti_plugins_manage ; then unpack userplugin:manage-0.6.2.zip ; fi if use cacti_plugins_camm ; then unpack userplugin:cacti_plugin_camm_v1.5.3.zip; fi if use cacti_plugins_fix64bit ; then unpack userplugin:fix64bit-0.3.tar.gz ; fi if use cacti_plugins_weathermap; then unpack php-weathermap-0.97a.zip ; fi if use cacti_plugins_superlinks; then unpack plugin:superlinks-v1.4-2.tgz; mv "manage/patch architecture" manage/patch_architecture; fi if use cacti_plugins_gpsmaps ; then ln -s ${DISTDIR}/17-gpsmaps-162 ${DISTDIR}/gpsmaps.tgz; unpack gpsmaps.tgz; fi if use cacti_plugins_quicktree ; then unpack quicktree-0.2.zip; fi # fix deprecated call to define_syslog_variables for FILE in $(grep -rl "define_syslog_variables()" .); do sed -e "s,define_syslog_variables();,," -i $FILE done cd ../.. fi } src_prepare() { if [ "${HAS_PATCHES}" == "1" ] ; then # patches for i in ${UPSTREAM_PATCHES} ; do EPATCH_OPTS="-p1 -d ${S} -N" epatch "${DISTDIR}"/${i}.patch done ; fi sed -i -e \ 's:$config\["library_path"\] . "/adodb/adodb.inc.php":"adodb/adodb.inc.php":' \ "${S}"/include/global.php rm -rf lib/adodb # don't use bundled adodb } src_compile() { :; } src_install() { webapp_src_preinst rm LICENSE README dodoc docs/{CHANGELOG,CONTRIB,README,txt/manual.txt} || die use doc && dohtml -r docs/html/ rm -rf docs edos2unix `find -type f -name '*.php'` dodir ${MY_HTDOCSDIR} cp -r . "${D}"${MY_HTDOCSDIR} webapp_serverowned ${MY_HTDOCSDIR}/rra webapp_serverowned ${MY_HTDOCSDIR}/log/cacti.log webapp_configfile ${MY_HTDOCSDIR}/include/config.php webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt webapp_src_install }