summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/icinga-web/icinga-web-1.10.1.ebuild
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-analyzer/icinga-web/icinga-web-1.10.1.ebuild')
-rw-r--r--net-analyzer/icinga-web/icinga-web-1.10.1.ebuild206
1 files changed, 206 insertions, 0 deletions
diff --git a/net-analyzer/icinga-web/icinga-web-1.10.1.ebuild b/net-analyzer/icinga-web/icinga-web-1.10.1.ebuild
new file mode 100644
index 000000000000..9dc6090f6b65
--- /dev/null
+++ b/net-analyzer/icinga-web/icinga-web-1.10.1.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+inherit depend.apache eutils user multilib
+
+DESCRIPTION="Icinga Web - new Web Interface"
+HOMEPAGE="http://www.icinga.org/"
+SRC_URI="https://github.com/icinga/${PN}/releases/download/v${PV}/${P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="apache2 mysql pnp postgres"
+DEPEND="dev-php/phing
+ dev-db/libdbi-drivers[mysql?,postgres?]
+ >=net-analyzer/icinga-1.10.0
+ dev-lang/php[apache2?,cli,json,mysql?,pdo,postgres?,sockets,xslt,xml]
+ pnp? ( net-analyzer/pnp4nagios )"
+RDEPEND="${DEPEND}"
+
+want_apache2
+
+pkg_setup() {
+ if use apache2 ; then
+ depend.apache_pkg_setup
+ fi
+ enewgroup icinga
+ enewgroup nagios
+ enewuser icinga -1 -1 /var/lib/icinga "icinga,nagios"
+}
+
+src_prepare() {
+ #removed checks for some php stuff since we have these things called use flags
+ sed -i 's/ACICINGA_CHECK_PHP_MODULE/\#ACICINGA_CHECK_PHP_MODULE/g' configure.ac
+ sed -i 's/make\ /make\ \-j1\ /g' lib/Makefile.in
+ autoreconf
+}
+
+src_configure() {
+ local myconf
+
+ myconf="--prefix=/usr/share/icinga/icinga-web
+ --bindir=/usr/sbin
+ --sbindir=/usr/$(get_libdir)/icinga/cgi-bin
+ --datarootdir=/usr/share/icinga/htdocs
+ --localstatedir=/var/lib/icinga
+ --sysconfdir=/etc/icinga
+ --libexecdir=/usr/$(get_libdir)/icinga/plugins
+ --with-bin-user=icinga
+ --with-bin-group=nagios
+ --with-api-cmd-file=/var/lib/icinga/rw/icinga.cmd
+ --with-conf-dir=/etc/icinga-web
+ --with-log-dir=/var/log/icinga-web
+ --with-icinga-objects-dir=/etc/icinga/objects
+ --with-icinga-bin=/usr/sbin/icinga
+ --with-icinga-cfg=/etc/icinga/icinga.cfg"
+
+ if use apache2 ; then
+ myconf+=" --with-web-user=apache
+ --with-web-group=apache
+ --with-web-apache-path=${APACHE_MODULES_CONFDIR}"
+ else
+ myconf+=" --with-web-user=root
+ --with-web-group=root"
+ fi
+
+ if use postgres ; then
+ myconf+=" --with-db-type=pgsql
+ --with-db-port=5432
+ --with-api-subtype=pgsql
+ --with-api-port=5432"
+ fi
+
+ econf ${myconf}
+}
+
+src_install() {
+ dodoc README
+ rm -f README
+
+ emake -j1 DESTDIR="${D}" install
+
+ emake DESTDIR="${D}" install-javascript
+
+ if use apache2 ; then
+ dodir ${APACHE_MODULES_CONFDIR}
+ emake DESTDIR="${D}" install-apache-config
+ echo '<IfDefine ICINGA_WEB>' > "${D}/${APACHE_MODULES_CONFDIR}/99_icinga-web.conf"
+ cat "${WORKDIR}/${P}/etc/apache2/icinga-web.conf" >> "${D}/${APACHE_MODULES_CONFDIR}/99_icinga-web.conf"
+ rm "${D}/${APACHE_MODULES_CONFDIR}/icinga-web.conf" || die "rm failed"
+ echo '</IfDefine>' >> "${D}/${APACHE_MODULES_CONFDIR}/99_icinga-web.conf"
+ fi
+
+ insinto /usr/share/icinga/icinga-web/contrib
+ doins -r etc/schema/*
+
+ if use apache2 ; then
+ sed -i 's/%%USER%%/apache/g' etc/scheduler/icingaCron
+ else
+ sed -i 's/%%USER%%/root/g' etc/scheduler/icingaCron
+ fi
+ sed -i 's/%%PATH%%/\/usr\/share\/icinga\/icinga-web/g' etc/scheduler/icingaCron
+
+ dodir /usr/share/icinga/icinga-web/cron/
+ cat - >> "${D}"/usr/share/icinga/icinga-web/cron/crontab <<EOF
+# Force the shell to bash
+SHELL=/bin/bash
+#mail to root
+MAILTO=root
+
+#runs every minute
+* * * * * /usr/bin/php /usr/share/icinga/icinga-web/lib/icingaScheduler/icingaCron.php --useAgavi --exec >> /var/log/icinga-web/cron_error.log
+EOF
+
+ cat - >> "${D}"/usr/share/icinga/icinga-web/cron/fcrontab <<EOF
+# Mail reports to root
+!mailto(root)
+
+#runs every minute
+@ 1 /usr/bin/php /usr/share/icinga/icinga-web/lib/icingaScheduler/icingaCron.php --useAgavi --exec >> /var/log/icinga-web/cron_error.log
+EOF
+
+ if use apache2 ; then
+ diropts -o apache -g apache
+ else
+ diropts -o root -g root
+ fi
+ dodir /var/log/icinga-web
+
+ if use apache2 ; then
+ fowners apache:apache /usr/share/icinga/icinga-web/lib/icingaScheduler/res/storage.dat
+ else
+ fowners root:root /usr/share/icinga/icinga-web/lib/icingaScheduler/res/storage.dat
+ fi
+
+ if use pnp ; then
+ insinto /usr/share/icinga/icinga-web/app/modules/Cronks/data/xml/extensions/
+ doins contrib/PNP_Integration/templateExtensions/pnp-host-extension.xml
+ doins contrib/PNP_Integration/templateExtensions/pnp-service-extension.xml
+ fi
+}
+
+pkg_config() {
+ einfo "press enter to install the icinga-web crontab"
+ einfo "installation from /usr/share/icinga/icinga-web/cron/icingaCron"
+ einfo
+ read
+
+ if has_version sys-process/fcron; then
+ fcrontab - -u root < /usr/share/icinga/icinga-web/cron/fcrontab
+ else
+ crontab - -u root < /usr/share/icinga/icinga-web/cron/crontab
+ fi
+}
+
+pkg_postinst() {
+ einfo
+ einfo "If this is a new install, you must create a new database for it, e.g. icinga_web."
+ einfo "You can find the database scripts in /usr/share/icinga/icinga-web/contrib/."
+ einfo
+ einfo "Additionally, you need to setup a database user."
+ einfo "The user must have default data privileges like SELECT, UPDATE, INSERT, DELETE."
+ einfo
+ einfo "Example for a MySQL database:"
+ einfo " echo \"CREATE DATABASE icinga_web;\" | mysql"
+ einfo " echo \"GRANT SELECT,UPDATE,INSERT,DELETE ON icinga_web.* TO 'icinga_web'@'localhost' IDENTIFIED BY 'xxxxxx';\" | mysql"
+ einfo " echo \"FLUSH PRIVILEGES;\" | mysql"
+ einfo
+ einfo " cat /usr/share/icinga/icinga-web/contrib/mysql.sql | mysql icinga_web"
+ einfo
+
+ ewarn
+ ewarn "If you're upgrading from a previous release, you must upgrade your database schema."
+ ewarn "You can find upgrade scripts in /usr/share/icinga/icinga-web/contrib/updates/."
+ ewarn
+ ewarn "IMPORTANT: If you are upgrading from an older version and there are other versions in between,"
+ ewarn " be advised that you need to apply those upgrade files with incremental steps!"
+ ewarn
+ ewarn "Example to upgrade a MySQL database:"
+ ewarn " cat /usr/share/icinga/icinga-web/contrib/updates/mysql_<oldversion>_to_<newversion>.sql | mysql icinga_web"
+ ewarn
+ ewarn "Don't forget to clear the config cache."
+ ewarn " /usr/share/icinga/icinga-web/bin/clearcache.sh"
+ ewarn
+
+ einfo
+ einfo "Please note that the magic_quotes_gpc setting must be disabled (in both apache and cli php.ini)."
+ einfo
+
+ if use apache2 ; then
+ einfo
+ einfo "apache config was installed into"
+ einfo "/etc/apache2/modules.d/99_icinga-web.conf"
+ einfo
+ einfo "The apache config value for \'ServerTokens\' must be set to at"
+ einfo "least \'Min\'."
+ einfo
+ else
+ einfo
+ einfo "If you are not using apache you may need to change some"
+ einfo "permissions, so that your web server can access files and logs"
+ einfo
+ fi
+}