net-analyzer/icinga2: bup
authorMatthew Thode <prometheanfire@gentoo.org>
Sat, 5 Sep 2015 20:32:50 +0000 (15:32 -0500)
committerMatthew Thode <prometheanfire@gentoo.org>
Sat, 5 Sep 2015 20:32:50 +0000 (15:32 -0500)
Package-Manager: portage-2.2.20.1

net-analyzer/icinga2/Manifest
net-analyzer/icinga2/icinga2-2.3.10.ebuild [new file with mode: 0644]

index e91106becc68ced1793d166b983424efe2a15c39..765572df5ee78aaf64c707bdbde2be93ada7e2d9 100644 (file)
@@ -1,3 +1,4 @@
+DIST icinga2-2.3.10.tar.gz 830680 SHA256 d29880b1adfd21d650a72e04a36e4dadb899b8452c4917e25e7ec3c5e65582c1 SHA512 14dee2d856f0dd1f2cd7185d68c9f90840acc086cb8c20eaa300585d2b3a491cadc44cb295fe6931a539aa305f4d9e00adb37b3d6cf33805989ff7eec0932630 WHIRLPOOL 98140d95133b01c3428b092dbbc8d9d9e5299e63d922fe07e60be2d0ed56ea3177210f64d6f71eba2bc99bdec0d297729539114266186e63dd2aceab98166914
 DIST icinga2-2.3.5.tar.gz 804780 SHA256 712d13e997fc6fbf02f8c2046851b1fda1291305f0d3d6792cbebf5fb1558225 SHA512 9302ee2360cbc69ff9bc06092b4ebe9fb77901d9d60eb073f41f781e2917f398ccbddb617bb306631c9d4d0dbe0312cdab6fc1369b2c2691cf116d7af04b1ea7 WHIRLPOOL a73f8ab1136b35283c343281d65e4ea3e78ecdc52a6d1775f3202374a0f5dc9927709e2aa705243243d3c8751e313c60b4d88b1d0f15d1514a50e8a4483d94f6
 DIST icinga2-2.3.6.tar.gz 816718 SHA256 96453fbfa418329b74d45bd2a202302add03d907fac28644e1228d869c478093 SHA512 bb16546bce387f4d828c1bba7dc0e5e1e89ca9c8a4bbb931d9fabd3fb0089329751814bee883b3320e0a7a0b2dd26c1e5b2970b2c33fc8172c3e73784d92a960 WHIRLPOOL 21d410a401ac8ada2857640061ede691b0c41b54aca49409fb3e7002195b1975c653351afffd06a375b6a78948ee96e875dcc982971d3332a994752ccc4c80af
 DIST icinga2-2.3.7.tar.gz 817712 SHA256 067335129daf464d800f48d75bf2fde6ae63c99db6a5126d3d322b6562dfdf28 SHA512 46c940b8081dc3e064121acdab366ba28c1156fc563064022099c3186e310d20bcc1743b643046e0579f42e8ea90b9dfa1f868b28df3eedcd18926c7f65c98f6 WHIRLPOOL 5363191df2c5a57d135866589fe683ea53623c3b0583c299e248e32e4822d1f0bb7806ad573ee9ecd402edecb80dc1ced5850550c595b97562126670b74977f9
diff --git a/net-analyzer/icinga2/icinga2-2.3.10.ebuild b/net-analyzer/icinga2/icinga2-2.3.10.ebuild
new file mode 100644 (file)
index 0000000..ac3a260
--- /dev/null
@@ -0,0 +1,163 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils depend.apache eutils systemd toolchain-funcs user versionator
+
+DESCRIPTION="Distributed, general purpose, network monitoring engine"
+HOMEPAGE="http://icinga.org/icinga2"
+SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+mysql postgres classicui minimal nano-syntax +plugins +vim-syntax"
+
+DEPEND="
+       dev-libs/openssl:=
+       >=dev-libs/boost-1.41
+       sys-devel/bison
+       >=sys-devel/flex-2.5.35
+       mysql? ( virtual/mysql )
+       postgres? ( dev-db/postgresql:= )"
+
+RDEPEND="
+       ${DEPEND}
+       plugins? ( || (
+               net-analyzer/monitoring-plugins
+               net-analyzer/nagios-plugins
+       ) )
+       classicui? ( net-analyzer/icinga[web] )"
+
+REQUIRED_USE="!minimal? ( || ( mysql postgres ) )"
+
+want_apache2
+
+pkg_setup() {
+       enewgroup icinga
+       enewgroup icingacmd
+       enewgroup nagios  # for plugins
+       enewuser icinga -1 -1 /var/lib/icinga2 "icinga,icingacmd,nagios"
+}
+
+src_prepare() {
+#      epatch "${FILESDIR}/${P}-create_var_cache.patch"
+       epatch_user
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DICINGA2_UNITY_BUILD=FALSE
+               -DCMAKE_VERBOSE_MAKEFILE=ON
+               -DCMAKE_BUILD_TYPE=None
+               -DCMAKE_INSTALL_PREFIX=/usr
+               -DCMAKE_INSTALL_SYSCONFDIR=/etc
+               -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+               -DICINGA2_SYSCONFIGFILE=/etc/conf.d/icinga2
+               -DICINGA2_USER=icinga
+               -DICINGA2_GROUP=icingacmd
+               -DICINGA2_COMMAND_USER=icinga
+               -DICINGA2_COMMAND_GROUP=icingacmd
+               -DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=yes
+       )
+       if use minimal; then
+               mycmakeargs+=(
+                       -DICINGA2_WITH_MYSQL=OFF
+                       -DICINGA2_WITH_PGSQL=OFF
+               )
+       fi
+       if use postgres; then
+               mycmakeargs+=(
+                       -DICINGA2_WITH_PGSQL=ON
+               )
+       else
+               mycmakeargs+=(
+                       -DICINGA2_WITH_PGSQL=OFF
+               )
+       fi
+       if use mysql; then
+               mycmakeargs+=(
+                       -DICINGA2_WITH_MYSQL=ON
+               )
+       else
+               mycmakeargs+=(
+                       -DICINGA2_WITH_MYSQL=OFF
+               )
+       fi
+       cmake-utils_src_configure
+}
+
+src_install() {
+       BUILDDIR="${WORKDIR}"/icinga2-${PV}_build
+       cd $BUILDDIR
+
+       #if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]] ; then
+
+               emake DESTDIR="${D}" install
+       #fi
+
+       cd "${WORKDIR}"/icinga2-${PV}
+       if ! declare -p DOCS >/dev/null 2>&1 ; then
+               local d
+               for d in README* ChangeLog AUTHORS NEWS TODO CHANGES THANKS BUGS \
+                               FAQ CREDITS CHANGELOG ; do
+                       [[ -s "${d}" ]] && dodoc "${d}"
+               done
+       elif declare -p DOCS | grep -q "^declare -a " ; then
+               dodoc "${DOCS[@]}"
+       else
+               dodoc ${DOCS}
+       fi
+
+       newinitd "${FILESDIR}"/icinga2.initd icinga2
+       newconfd "${FILESDIR}"/icinga2.confd icinga2
+
+       if use mysql ; then
+               docinto schema
+               newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql
+               docinto schema/upgrade
+               #newdoc "${WORKDIR}"/icinga2-${PV}/components/db_ido_mysql/schema/upgrade/0.0.11.sql mysql-upgrade-1.12.0.sql
+       elif use postgres ; then
+               docinto schema
+               newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/pgsql.sql pgsql.sql
+               docinto schema/upgrade
+               #newdoc "${WORKDIR}"/icinga2-${PV}/components/db_ido_pgsql/schema/upgrade/0.0.11.sql pgsql-upgrade-1.12.0.sql
+       fi
+
+       keepdir /etc/icinga2
+       keepdir /var/lib/icinga2/api/zones
+       keepdir /var/lib/icinga2/api/repository
+       keepdir /var/lib/icinga2/api/log
+       keepdir /var/spool/icinga2/perfdata
+
+       rm -r "${D}var/run" || die "failed to remove /var/run"
+       rm -r "${D}var/cache" || die "failed to remove /var/cache"
+
+       fowners icinga:icinga /etc/icinga2
+       fowners icinga:icinga /var/lib/icinga2
+       fowners icinga:icinga /var/spool/icinga2
+       fowners icinga:icinga /var/spool/icinga2/perfdata
+       fowners icinga:icingacmd /var/log/icinga2
+
+       fperms ug+rwX,o-rwx /etc/icinga2
+       fperms ug+rwX,o-rwx /var/lib/icinga2
+       fperms ug+rwX,o-rwx /var/spool/icinga2
+       fperms ug+rwX,o-rwx /var/log/icinga2
+
+       if use vim-syntax; then
+               insinto /usr/share/vim/vimfiles
+               doins -r tools/syntax/vim/ftdetect
+               doins -r tools/syntax/vim/syntax
+       fi
+
+       if use nano-syntax; then
+               insinto /usr/share/nano
+               doins tools/syntax/nano/icinga2.nanorc
+       fi
+}
+
+pkg_postinst() {
+       elog "DB IDO schema upgrade required. http://docs.icinga.org/icinga2/snapshot/chapter-2.html#upgrading-the-mysql-database"
+       elog "You will need to update your configuration files, see https://dev.icinga.org/issues/5909"
+}