diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-analyzer/icinga-web | |
download | gentoo-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')
-rw-r--r-- | net-analyzer/icinga-web/Manifest | 4 | ||||
-rw-r--r-- | net-analyzer/icinga-web/icinga-web-1.10.0-r1.ebuild | 206 | ||||
-rw-r--r-- | net-analyzer/icinga-web/icinga-web-1.10.0.ebuild | 206 | ||||
-rw-r--r-- | net-analyzer/icinga-web/icinga-web-1.10.1.ebuild | 206 | ||||
-rw-r--r-- | net-analyzer/icinga-web/icinga-web-1.11.2.ebuild | 206 | ||||
-rw-r--r-- | net-analyzer/icinga-web/icinga-web-1.9.1-r1.ebuild | 203 | ||||
-rw-r--r-- | net-analyzer/icinga-web/metadata.xml | 17 |
7 files changed, 1048 insertions, 0 deletions
diff --git a/net-analyzer/icinga-web/Manifest b/net-analyzer/icinga-web/Manifest new file mode 100644 index 000000000000..3422e1da152e --- /dev/null +++ b/net-analyzer/icinga-web/Manifest @@ -0,0 +1,4 @@ +DIST icinga-web-1.10.0.tar.gz 14245635 SHA256 fe1b43448bcb6a9e8f565f079122e51283539eb6be214e7001c65653686b7f56 SHA512 90537ea710dd6408349b734b0901918db595d2d7a281e9245a63ba0150a4b7df4fabbb71755966361440ca6096391470d7399ddd5f4b245d1203000b89d8b368 WHIRLPOOL c72004edb2a76efa4ccbea6363fddfa4c6d30c8c368fa57ee0f865d27927bdc5aea691b42c4415b5fe75a12d946768296feffbeb101ff8945377d92da20059bc +DIST icinga-web-1.10.1.tar.gz 14247394 SHA256 b334c063cf4f53fcc1922d99161b5ea5c32c04749c0f9dfe091f376158273664 SHA512 e155c4c00fde20680ed3286fbf7af4db13dd566693ec677a61c719cf8a0b36862bc51741180aceba204e6f768000d8a6dc4548bfbf7165f28f8bbc81c79bc63c WHIRLPOOL d4cf2ea128c0e46bf07ce1ae677a4e718405b926250f4972790388d2b45cef5996e16ca5b83dcdd8f8c9a84831a76cb88b76d0839bdce87e222d6712463b6de9 +DIST icinga-web-1.11.2.tar.gz 14133733 SHA256 726ffb261d3cd5a864b689f96837ff9cc138e9c5d97c19a2c82b110a802eb772 SHA512 ecfbc6534a87ae52b508b2ca663109bdc201fbfc143ce399fff0fdd4eec456524c5bb86afe0e29c58dc3dfeaccc959817e77af5b0257db6eced2f27592caf5b1 WHIRLPOOL bb1ad4ae5d921a0454afd9e11780d469f89b5414f6edf13db8c1292e72c5da8a0dc66991d45fac36607ead57934331414017fcc716b8eac351a56c43b8780cf5 +DIST icinga-web-1.9.1.tar.gz 14635896 SHA256 aa5b1aa6962a727a6760f89ef19845a878b7e06ee723b8f1fd7821b6a6b578aa SHA512 42a3edddae5a287b87fd6d077ac303e7caa0b430af86e9046413e7d04d703cd3de7df881463eebb1e5216315056e06ce9f6dccbef93b6e55d1c3f5fe002447b9 WHIRLPOOL 8b5a6bf78794f722952566c82ae238640a716e61022fead31145bbc6fa40ca3bbf439aa593c5839b09873f7d43469cff28422ecd9b93e51cc7124859d1ae8257 diff --git a/net-analyzer/icinga-web/icinga-web-1.10.0-r1.ebuild b/net-analyzer/icinga-web/icinga-web-1.10.0-r1.ebuild new file mode 100644 index 000000000000..99c69ccf09c3 --- /dev/null +++ b/net-analyzer/icinga-web/icinga-web-1.10.0-r1.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="mirror://sourceforge/icinga/${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 +} diff --git a/net-analyzer/icinga-web/icinga-web-1.10.0.ebuild b/net-analyzer/icinga-web/icinga-web-1.10.0.ebuild new file mode 100644 index 000000000000..95e895bbe59a --- /dev/null +++ b/net-analyzer/icinga-web/icinga-web-1.10.0.ebuild @@ -0,0 +1,206 @@ +# Copyright 1999-2013 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="mirror://sourceforge/icinga/${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 -j5 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 +} 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 +} diff --git a/net-analyzer/icinga-web/icinga-web-1.11.2.ebuild b/net-analyzer/icinga-web/icinga-web-1.11.2.ebuild new file mode 100644 index 000000000000..4baca8d05c67 --- /dev/null +++ b/net-analyzer/icinga-web/icinga-web-1.11.2.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 >=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 +} diff --git a/net-analyzer/icinga-web/icinga-web-1.9.1-r1.ebuild b/net-analyzer/icinga-web/icinga-web-1.9.1-r1.ebuild new file mode 100644 index 000000000000..1279d32f27f9 --- /dev/null +++ b/net-analyzer/icinga-web/icinga-web-1.9.1-r1.ebuild @@ -0,0 +1,203 @@ +# Copyright 1999-2013 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="mirror://sourceforge/icinga/${P}.tar.gz" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64" +IUSE="apache2 mysql pnp postgres" +DEPEND="dev-php/phing + 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 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 "${D}/${APACHE_MODULES_CONFDIR}/icinga-web.conf" >> "${D}/${APACHE_MODULES_CONFDIR}/99_icinga-web.conf" + 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 +} diff --git a/net-analyzer/icinga-web/metadata.xml b/net-analyzer/icinga-web/metadata.xml new file mode 100644 index 000000000000..eef21637f5f4 --- /dev/null +++ b/net-analyzer/icinga-web/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer> + <email>prometheanfire@gentoo.org</email> + <name>Matthew Thode</name> + </maintainer> + <longdescription lang="en"> + Icinga-web is a database backed web frontend to icinga. + </longdescription> + <use> + <flag name="pnp">Enables pnp4nagios integration</flag> + </use> + <upstream> + <remote-id type="sourceforge">icinga</remote-id> + </upstream> +</pkgmetadata> |