commit:     0240fc01e53aa2c0ec470fccceb828bc9d649b69
Author:     Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 23 03:14:27 2016 +0000
Commit:     Matt Thode <prometheanfire <AT> gentoo <DOT> org>
CommitDate: Fri Dec 23 03:18:05 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0240fc01

net-analyzer/icinga-web: bup for bug 603536

Package-Manager: portage-2.3.0

 net-analyzer/icinga-web/Manifest                 |   1 +
 net-analyzer/icinga-web/icinga-web-1.14.0.ebuild | 206 +++++++++++++++++++++++
 2 files changed, 207 insertions(+)

diff --git a/net-analyzer/icinga-web/Manifest b/net-analyzer/icinga-web/Manifest
index 3b690ec..9dab8e2 100644
--- a/net-analyzer/icinga-web/Manifest
+++ b/net-analyzer/icinga-web/Manifest
@@ -1,2 +1,3 @@
 DIST icinga-web-1.11.2.tar.gz 14133733 SHA256 
726ffb261d3cd5a864b689f96837ff9cc138e9c5d97c19a2c82b110a802eb772 SHA512 
ecfbc6534a87ae52b508b2ca663109bdc201fbfc143ce399fff0fdd4eec456524c5bb86afe0e29c58dc3dfeaccc959817e77af5b0257db6eced2f27592caf5b1
 WHIRLPOOL 
bb1ad4ae5d921a0454afd9e11780d469f89b5414f6edf13db8c1292e72c5da8a0dc66991d45fac36607ead57934331414017fcc716b8eac351a56c43b8780cf5
 DIST icinga-web-1.12.0.tar.gz 14517225 SHA256 
3e802ae0cbcabb9555908bf91b9c40d9c07eb80a8acc70f0c9cbd426e3feb675 SHA512 
07831c62479e2c83929bd86dc8d7e57558d8e3b3dac2952d64e5170dc508d836cfb2e7446019d2ec9bea03740fc1c55e5857d2fd88fe67ea2726375f77246898
 WHIRLPOOL 
85ca6ad8423b72dcf77de6243b29fc9c5fadb09f68b56ae57380637014deea60749ff7c942b43d4965ab23efb2d4d79b9cffb194ed6d21e5262373b856ae9b1a
+DIST icinga-web-1.14.0.tar.gz 14523746 SHA256 
ee57e53417d54ee65b4cabe6c18f15c57cf49750f9fb73691deb9f28b11a740e SHA512 
9e429ffaf84efb08e0ad009af2dd90179366d4de5720bc09574228d3a6dec967eddc04402f5fac220e7af14761afec4b9021f70255102829e21880591d702d3b
 WHIRLPOOL 
628a606e9c9e927258875dc3529e575ccd9c1da7e358bc5cf96b55068741380a36c89935217dc8b3319942c396f26f50dedb428226f9f99dfa003c7ad3809631

diff --git a/net-analyzer/icinga-web/icinga-web-1.14.0.ebuild 
b/net-analyzer/icinga-web/icinga-web-1.14.0.ebuild
new file mode 100644
index 00000000..334ba4a
--- /dev/null
+++ b/net-analyzer/icinga-web/icinga-web-1.14.0.ebuild
@@ -0,0 +1,206 @@
+# Copyright 1999-2016 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}/archive/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 >=net-analyzer/icinga2-2.1.1 )
+               
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
+}

Reply via email to