Files @ dc53e5004f02
Branch filter:

Location: portage-overlay.git/net-analyzer/centreon/centreon-2.3.9-r3.ebuild - annotation

dc53e5004f02 8.5 KiB application/vnd.gentoo.ebuild Show Source Show as Raw Download as Raw
chain
update net-misc/pyload to 0.4.9
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
373832daf3ab
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
fbe1cf0c57f3
fbe1cf0c57f3
fbe1cf0c57f3
6a5e10f14869
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
fbe1cf0c57f3
ceb56d6d3152
fbe1cf0c57f3
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
373832daf3ab
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
6a5e10f14869
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-analyzer/centreon/centreon-1.4.2.4.ebuild,v 1.3 2008/04/03 08:30:17 hollow Exp $
EAPI=2

inherit depend.apache depend.php systemd

DESCRIPTION="Centreon is a monitoring web-frontend based on the nagios monitoring engine"
HOMEPAGE="http://www.centreon.org"
SRC_URI="http://download.centreon.com/${PN}/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="ldap xmlwriter"

#version 1 cannot be upgraded
DEPEND="!<net-analyzer/centreon-2"

RDEPEND="
	>=net-analyzer/nagios-3
	net-analyzer/rrdtool[perl]
	net-analyzer/net-snmp[perl]
	net-analyzer/snmptt
	net-analyzer/ndoutils
	app-admin/sudo
	=dev-lang/php-5.3*[xmlwriter?,mysql,ldap?,posix,snmp,soap,truetype]
	>=dev-php/PEAR-PEAR-1.8.1
	dev-php/smarty
	>=dev-php/PEAR-Archive_Tar-1.1
	>=dev-php/PEAR-Archive_Zip-0.1.2
	>=dev-php/PEAR-Auth_SASL-1.0.1
	>=dev-php/PEAR-Console_Getopt-1.2
	>=dev-php/PEAR-DB-1.7.6
	>=dev-php/PEAR-DB_DataObject-1.8.4
	>=dev-php/PEAR-DB_DataObject_FormBuilder-1.0.0_rc4
	>=dev-php/PEAR-Date-1.4.6
	>=dev-php/PEAR-HTML_Common-1.2.2
	>=dev-php/PEAR-HTML_QuickForm-3.2.5
	>=dev-php/PEAR-HTML_QuickForm_advmultiselect-1.1.0
	>=dev-php/PEAR-HTML_Table-1.6.1
	>=dev-php/PEAR-Log-1.9.11
	>=dev-php/PEAR-MDB2-2.0.0
	>=dev-php/PEAR-Net_Ping-2.4.1
	>=dev-php/PEAR-Net_SMTP-1.2.8
	>=dev-php/PEAR-Net_Socket-1.0.1
	>=dev-php/PEAR-Net_Traceroute-0.21
	>=dev-php/PEAR-SOAP-0.10.1
	>=dev-php/PEAR-Validate-0.6.2
	>=dev-php/PEAR-XML_RPC-1.4.5
	dev-perl/Config-IniFiles
	dev-perl/Crypt-DES
	dev-perl/DBI
	dev-perl/Digest-HMAC
	dev-perl/Digest-SHA1
	dev-perl/GD
	dev-perl/IO-Socket-INET6
	dev-perl/Net-SNMP
	dev-perl/Socket6"

need_apache2
need_php5

setup_vars() {
	INSTALL_DIR_OREON="/usr/share/centreon"
	INSTALL_DIR_CENTREON="/usr/share/centreon"
	OREON_PATH=${INSTALL_DIR_OREON}
	CENTREON_ETC="/etc/centreon"
	CENTREON_VARLIB="/var/lib/centreon"
	VARLIB_CENTERON=${CENTERON_VARLIB}
	CENTREON_LOG="/var/log/centreon"
	CENTREON_PATH=${OREON_PATH}
	CENTREON_RUNDIR="/var/run/centreon"
	CENTREON_GENDIR="/var/cache/centreon"
	CENTSTORAGE_RRD="${CENTREON_GENDIR}/rrd"
	CENTSTORAGE_LIB="${CENTREON_RRD}"
	CENTPLUGINS_TMP="${CENTREON_GENDIR}/tmp"
	CENTPLUGINSTRAPS_BINDIR="/usr/sbin"

	INSTALL_DIR_NAGIOS="/usr/share/nagios"
	NAGIOS_ETC="/etc/nagios"
	NAGIOS_VAR="/var/nagios"
	NAGIOS_BIN="/usr/sbin"
	NAGIOS_BINARY="${NAGIOS_BIN}/nagios"
	NAGIOSTATS_BINARY="${NAGIOS_BINARY}tats"
	NAGIOS_PLUGINS="/usr/lib/nagios/plugins"
	NAGIOS_PLUGIN=${NAGIOS_PLUGINS}
	NAGIOS_IMG="${INSTALL_DIR_NAGIOS}/htdocs/images"
	NAGIOS_INIT_SCRIPT="/etc/init.d/nagios"
	NAGIOS_USER="nagios"
	NAGIOS_GROUP="nagios"

	NDOMOD_BINARY="/usr/bin/ndomod-3x.o"
	BIN_RRDTOOL="/usr/bin/rrdtool"
	BIN_MAIL="/bin/mail"
	BIN_SSH="/usr/bin/ssh"
	BIN_SCP="/usr/bin/scp"
	MAILER="/bin/mail"
}

pkg_setup() {
	require_php_sapi_from apache2 cli
	require_gd

	setup_vars
}

varsubst() {
	local path=$1

	for var in "$@"; do
		sed -i -e "s:@${var}@:$(eval echo \$${var}):g" "${D}${path}"
	done
}

install_centreon() {
	cd "${S}"

	# copy www and doc files
	insinto "${OREON_PATH}"
	doins -r www
	dosym /usr/share/nagios/htdocs/docs "${OREON_PATH}"/doc

	# sanitize file modes
	find "${D}${OREON_PATH}" -type d -exec chmod 755 {} \;
	find "${D}${OREON_PATH}" -type f -exec chmod 644 {} \;

	# keep important directories
	keepdir "${OREON_PATH}"/www/modules
	keepdir /var/log/centreon
	keepdir /var/cache/centreon/rrd
	keepdir /var/cache/centreon/smarty/{cache,config,compile}
	keepdir /var/cache/centreon/generate/{nagiosCFG,osm}
	keepdir /var/cache/centreon/tmp
	keepdir /var/cache/centreon/upload/nagiosCFG
	dosym /var/cache/centreon/generate /var/cache/centreon/filesGeneration

	# prepare SQL files
	varsubst "${OREON_PATH}"/www/install/insertBaseConf.sql \
		NAGIOS_{USER,GROUP,ETC,BIN,VAR,PLUGIN,PLUGINS,IMG,BINARY,INIT_SCRIPT} \
		INSTALL_DIR_NAGIOS INSTALL_DIR_{OREON,CENTREON} \
		BIN_RRDTOOL BIN_MAIL MAILER NDOMOD_BINARY NAGIOSTATS_BINARY

	varsubst "${OREON_PATH}"/www/install/createTablesCentstorage.sql \
		NAGIOS_VAR CENTSTORAGE_RRD

	# fix paths in php files
	varsubst "${OREON_PATH}"/www/include/configuration/configCGI/formCGI.php \
		NAGIOS_ETC INSTALL_DIR_NAGIOS

	varsubst "${OREON_PATH}"/www/include/options/oreon/upGrade/preUpdate.php \
		OREON_PATH
        for i in $(find www/ -type f); do
                varsubst "${OREON_PATH}"/${i} CENTREON_{ETC,VARLIB,GENDIR,LOG} \
			MAILER CENTPLUGINSTRAPS_BINDIR
        done

	# fix preinstalled smarty
	sed -i "s:\.\./GPL_LIB/Smarty/libs/:Smarty/:" \
		"${D}${OREON_PATH}/www/header.php"
	sed -i "s:\(\(../\)\+\|$centreon_path/\)GPL_LIB/SmartyCache:/var/cache/centreon/smarty:" \
                  "${D}${OREON_PATH}/www/include/common/common-Func.php"
	sed -i "s:$centreon_path . 'GPL_LIB/Smarty/libs/':'Smarty/':" \
		"${D}${OREON_PATH}/www/include/monitoring/external_cmd/popup/popup.php"


	# install apache config
	insinto "${APACHE_MODULES_CONFDIR}"
	doins "${FILESDIR}"/99_centreon.conf

	# install global installation config
	insinto "${OREON_PATH}"/www/install
	newins "${FILESDIR}"/initial-installconf.php install.conf.php

	# set permissions
	fowners -R apache:apache \
		/var/cache/centreon \
		"${OREON_PATH}"/www

	fowners -R nagios:apache \
		/var/log/centreon
}

install_plugins() {
	cd "${S}"

	# install plugin configuration
	insinto /etc/centreon
	doins ./plugins/src/centreon.conf
	rm -f ./plugins/src/centreon.conf
	dosym "${NAGIOS_PLUGINS}/centreon.conf" /etc/centreon/centreon.conf

	varsubst /etc/centreon/centreon.conf \
		INSTALL_DIR_NAGIOS INSTALL_DIR_OREON \
		NAGIOS_ETC NAGIOS_PLUGINS

	fowners -R apache:apache \
		/etc/centreon

	# install nagios plugins
	exeinto "${NAGIOS_PLUGINS}"

	for plugin in ./plugins/src/*; do
		if [[ ! -d "${plugin}" ]]; then
			doexe "${plugin}"
			varsubst "${NAGIOS_PLUGINS}/$(basename "${plugin}")" \
				NAGIOS_PLUGINS NAGIOS_VAR CENTREON_ETC \
				CENTPLUGINS_TMP
		fi
	done
}

install_traps() {
	cd "${S}"

	# install snmp traps plugins
	dodir "${NAGIOS_PLUGINS}"/traps
	dodir /etc/snmp/centreon
	dosym /etc/snmp/centreon /etc/snmp/centreon_traps

	# install snmp configs
	insinto /etc/snmp/centreon
	doins plugins/src/traps/conf/snmptt.ini
	fowners -R apache:nagios /etc/snmp/centreon

	insinto /etc/snmp/
	doins plugins/src/traps/conf/snmp.conf
	doins plugins/src/traps/conf/snmptrapd.conf
}

install_daemons() {
	cd "${S}"

	# install daemon
	insinto /usr
	dosbin bin/*
	for i in $(find bin/ -type f); do
	        varsubst /usr/sbin/$(basename "${i}") \
			CENTREON_{LOG,PATH,RUNDIR,ETC,VARLIB,DIR} \
			NAGIOS_{USER,GROUP} BIN_{SSH,SCP} CENTPLUGINS_TMP \
			CENTSTORAGE_LIB
        done
	# install daemon library files
	insinto /usr/share/centreon/lib
	doins lib/*

	# install init script
	newinitd "${FILESDIR}"/centreon.initd centreon

	# keep important directories
	keepdir /etc/centreon
	keepdir /var/run/centreon
	keepdir /var/log/centreon
	keepdir /var/lib/centreon
	keepdir /var/lib/centreon/database

	# set permissions
	fowners -R nagios:nagios \
		/var/run/centreon \
		/var/log/centreon \
		/var/lib/centreon/database
}

install_cron() {
	cd "${S}"

	insinto "${OREON_PATH}"
	doins -r cron

	fperms +x "${OREON_PATH}"/cron/*

	for i in $(find cron/ -type f); do
		varsubst "${OREON_PATH}"/${i} \
			CENTREON_{PATH,ETC,VARLIB,LOG,RUNDIR} \
			VARLIB_CENTREON
	done

	sed -i "s:/etc/init.d/centstorage:/etc/init.d/centreon:" \
		"${D}${OREON_PATH}/cron/centreonPurge.sh"

	insinto /etc/cron.d
	newins "${FILESDIR}"/centreon-2.cron centreon
}

src_install() {
	install_centreon
	install_plugins
	install_traps
	install_daemons
	install_cron
	systemd_dotmpfilesd "${FILESDIR}/centreon.conf"
}

pkg_config() {
	setup_vars

	einfo "Setting permissions on ${ROOT}${NAGIOS_ETC}"
	chown nagios:apache "${ROOT}${NAGIOS_ETC}"
	chmod 0775 "${ROOT}${NAGIOS_ETC}"

	einfo "Setting permissions on ${ROOT}${NAGIOS_PLUGINS}"
	chown nagios:apache "${ROOT}${NAGIOS_PLUGINS}"
	chmod 0775 "${ROOT}${NAGIOS_PLUGINS}"

	einfo "Setting permissions on ${ROOT}${NAGIOS_PLUGINS}/contrib"
	chown nagios:apache "${ROOT}${NAGIOS_PLUGINS}"/contrib
	chmod 0775 "${ROOT}${NAGIOS_PLUGINS}"/contrib

	einfo "Adding user apache to group nagios"
	usermod -a -G nagios apache

	SUDOERS="${ROOT}etc/sudoers"

	if ! grep -q CENTREON "${SUDOERS}"; then
		einfo "Adding sudo configuration"
		echo >> "${SUDOERS}"
		echo "# centreon configuration" >> "${SUDOERS}"
		echo "User_Alias  CENTREON=apache" >> "${SUDOERS}"
		echo "CENTREON    ALL = NOPASSWD: /etc/init.d/nagios restart" >> "${SUDOERS}"
		echo "CENTREON    ALL = NOPASSWD: /etc/init.d/nagios reload"  >> "${SUDOERS}"
		echo "CENTREON    ALL = NOPASSWD: /etc/init.d/snmptrapd restart" >> "${SUDOERS}"
	fi
}