forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.69, Repoman-2.3.16 Signed-off-by: Matthew Thode <[email protected]>
- Loading branch information
1 parent
bf8af37
commit 3701f98
Showing
2 changed files
with
173 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST icinga2-2.10.5.tar.gz 5141193 BLAKE2B 7262e9f0ccb2180faba51b2e04b58964fe6c72782ab61488925c0f6528a80fc1f58afab5f3858f6f696fdca7c8d5546beb8fd374f7f72e452ffd7cd1f1e3ff4a SHA512 c43443d0bbb4ec997d3c5405ef3019ae3b09131bcce2e9d7c7b0e187768335a2f1347fdd382655f12a28b3a29ec8bf644c1b610ea5157f3ee40ae5e0e9253d38 | ||
DIST icinga2-2.10.6.tar.gz 5148999 BLAKE2B a155ccb381947854dfd9115575680b7101dc8d01708c76c719d4e6306c5acdf0bf3394128a8937f7d8e03d97c18442ee1b576af28f98fb11e42055b8b4498cce SHA512 ab1440fdbb36217c5e50d8a254d0f1294e412325038fcc02496c606558ab33f4fafda93b1f439ab6e51e956aff6daddee005282b6d529c7e9d9d781af120834d |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,172 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
if [[ ${PV} != 9999 ]]; then | ||
inherit cmake-utils depend.apache eutils systemd toolchain-funcs user wxwidgets | ||
SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz" | ||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86" | ||
else | ||
inherit cmake-utils depend.apache eutils git-r3 systemd toolchain-funcs user wxwidgets | ||
EGIT_REPO_URI="https://github.com/Icinga/icinga2.git" | ||
EGIT_BRANCH="master" | ||
KEYWORDS="" | ||
fi | ||
|
||
DESCRIPTION="Distributed, general purpose, network monitoring engine" | ||
HOMEPAGE="http://icinga.org/icinga2" | ||
|
||
LICENSE="GPL-2" | ||
SLOT="0" | ||
IUSE="classicui console libressl lto mail mariadb minimal +mysql nano-syntax +plugins postgres systemd +vim-syntax" | ||
WX_GTK_VER="3.0" | ||
|
||
CDEPEND=" | ||
!libressl? ( dev-libs/openssl:0= ) | ||
libressl? ( dev-libs/libressl:0= ) | ||
>=dev-libs/boost-1.58-r1 | ||
console? ( dev-libs/libedit ) | ||
mariadb? ( dev-db/mariadb-connector-c:= ) | ||
mysql? ( dev-db/mysql-connector-c:= ) | ||
postgres? ( dev-db/postgresql:= ) | ||
dev-libs/yajl" | ||
|
||
DEPEND=" | ||
${CDEPEND} | ||
sys-devel/bison | ||
>=sys-devel/flex-2.5.35" | ||
|
||
RDEPEND=" | ||
${CDEPEND} | ||
plugins? ( || ( | ||
net-analyzer/monitoring-plugins | ||
net-analyzer/nagios-plugins | ||
) ) | ||
mail? ( virtual/mailx ) | ||
classicui? ( net-analyzer/icinga[web] )" | ||
|
||
REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )" | ||
|
||
want_apache2 | ||
|
||
pkg_setup() { | ||
depend.apache_pkg_setup | ||
enewgroup icinga | ||
enewgroup icingacmd | ||
enewgroup nagios # for plugins | ||
enewuser icinga -1 -1 /var/lib/icinga2 "icinga,icingacmd,nagios" | ||
} | ||
|
||
src_configure() { | ||
sed -i 's/FLAGS\}\ \-g/FLAGS\}\ \-lpthread\ /g' CMakeLists.txt || die | ||
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_PLUGINDIR="/usr/$(get_libdir)/nagios/plugins" | ||
-DICINGA2_USER=icinga | ||
-DICINGA2_GROUP=icingacmd | ||
-DICINGA2_COMMAND_GROUP=icingacmd | ||
-DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=yes | ||
-DUSE_SYSTEMD=$(usex systemd ON OFF) | ||
-DLOGROTATE_HAS_SU=ON | ||
) | ||
# default to off if minimal, allow the flags to be set otherwise | ||
if use minimal; then | ||
mycmakeargs+=( | ||
-DICINGA2_WITH_MYSQL=OFF | ||
-DICINGA2_WITH_PGSQL=OFF | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DICINGA2_WITH_PGSQL=$(usex postgres ON OFF) | ||
-DICINGA2_WITH_MYSQL=$(usex mysql ON OFF) | ||
) | ||
fi | ||
# LTO | ||
if use lto; then | ||
mycmakeargs+=( | ||
-DICINGA2_LTO_BUILD=ON | ||
) | ||
else | ||
mycmakeargs+=( | ||
-DICINGA2_LTO_BUILD=OFF | ||
) | ||
fi | ||
|
||
cmake-utils_src_configure | ||
} | ||
|
||
src_install() { | ||
BUILDDIR="${WORKDIR}"/icinga2-${PV}_build | ||
cd "${BUILDDIR}" || die | ||
|
||
emake DESTDIR="${D}" install | ||
|
||
einstalldocs | ||
|
||
newinitd "${FILESDIR}"/icinga2.initd-3 icinga2 | ||
|
||
if use mysql ; then | ||
docinto schema | ||
newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql | ||
docinto schema/upgrade | ||
dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/upgrade/* | ||
fi | ||
if use mariadb ; then # same as mysql | ||
docinto schema | ||
newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/mysql.sql mysql.sql | ||
docinto schema/upgrade | ||
dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_mysql/schema/upgrade/* | ||
fi | ||
if use postgres ; then | ||
docinto schema | ||
newdoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/pgsql.sql pgsql.sql | ||
docinto schema/upgrade | ||
dodoc "${WORKDIR}"/icinga2-${PV}/lib/db_ido_pgsql/schema/upgrade/* | ||
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 root:icinga /etc/icinga2 | ||
fperms 0750 /etc/icinga2 | ||
fowners icinga:icinga /var/lib/icinga2 | ||
fowners icinga:icinga /var/spool/icinga2 | ||
fowners -R icinga:icingacmd /var/lib/icinga2/api | ||
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 "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect | ||
doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax | ||
fi | ||
|
||
if use nano-syntax; then | ||
insinto /usr/share/nano | ||
doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
if [[ ${PV} != 9999 && -n ${REPLACING_VERSIONS} && ${REPLACING_VERSIONS} != ${PV} ]]; then | ||
elog "DB IDO schema upgrade may be required required. | ||
https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/" | ||
fi | ||
} |