net-analyzer/icinga2: bump to 2.16.5

Also corrects missing protobuf dependency when using opentelemetry.

Closes: https://bugs.gentoo.org/981067

Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>
This commit is contained in:
Matthew Thode
2026-08-19 13:43:59 -05:00
parent 523d1677cd
commit 93765a4998
3 changed files with 159 additions and 0 deletions

View File

@@ -1,2 +1,3 @@
DIST icinga2-2.15.4.tar.gz 9462274 BLAKE2B 475f94f892032abbd7ff2f764542069baf5205510c11e9122d91cd32c26a1a6a857639c2c342b495f1c149eaf40bcbb853076f162aadea2e9e1c77c382703583 SHA512 000dc37a158abf4c83af0a3ef2c734f262177f0c278e8ce9ef089646faeaadc7f226258a356d062e20205a6d8b5e82b6e2bdea4da57a2e6c21740a4cfd61353e
DIST icinga2-2.16.2.tar.gz 9582890 BLAKE2B 2f2e6846f1aeccce46f58f2381940b3817d65249be379491c62cd02295137acfc0c18537abc87f99908c3e05768cb2081250bf8e6960f01159c0f49a3add2628 SHA512 664fb4e4b3a79bf99cf7f253007effd6940a15aa164a1f3aa122f2fc91bae5d9d4c5d732cfa9ca497cf668e4494a6ee1fe42a5ef411709b4e0426e76786576ae
DIST icinga2-2.16.5.tar.gz 9587332 BLAKE2B afa73ec78ffa0453c13883f2b6c018021809dc2c950fac1d8ea0c832368a80af199eb8cb9da79a81063c5babc63b3643f3c50daf061d101df10cedaa89957532 SHA512 253d32c793670eea9f48cc72d1ec7c7aaafa287fbea3f0aec888add5f7229bfd6b10678f9944392fca9a40af2109e8fcb04fcaee682f7ce0cdbddfef4e802571

View File

@@ -0,0 +1,157 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake eapi9-ver
# https://bugs.gentoo.org/960527#c9
CMAKE_QA_COMPAT_SKIP=1
if [[ ${PV} != 9999 ]]; then
SRC_URI="https://github.com/Icinga/icinga2/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~x86"
else
inherit git-r3
EGIT_REPO_URI="https://github.com/Icinga/icinga2.git"
fi
DESCRIPTION="Distributed, general purpose, network monitoring engine"
HOMEPAGE="https://icinga.com/"
LICENSE="GPL-2"
SLOT="0"
IUSE="console jumbo-build mail mariadb minimal +mysql opentelemetry +plugins postgres systemd test"
RESTRICT="!test? ( test )"
# Add accounts to DEPEND because of fowners in src_install
DEPEND="
dev-libs/openssl:=
dev-libs/boost:=[context]
console? ( dev-libs/libedit )
mariadb? ( dev-db/mariadb-connector-c:= )
mysql? ( dev-db/mysql-connector-c:= )
opentelemetry? ( dev-libs/protobuf:=[protoc] )
postgres? ( dev-db/postgresql:= )
dev-libs/yajl:=
acct-user/icinga
acct-group/icinga
acct-group/icingacmd
"
BDEPEND="
app-alternatives/yacc
app-alternatives/lex
"
RDEPEND="
${DEPEND}
acct-group/nagios
plugins? ( || (
net-analyzer/monitoring-plugins
net-analyzer/nagios-plugins
) )
mail? ( virtual/mailx )
"
REQUIRED_USE="!minimal? ( || ( mariadb mysql postgres ) )"
src_configure() {
local mycmakeargs=(
-DICINGA2_UNITY_BUILD=$(usex jumbo-build)
-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
-DICINGA2_RUNDIR=/run
-DICINGA2_WITH_OPENTELEMETRY=$(usex opentelemetry)
-DINSTALL_SYSTEMD_SERVICE_AND_INITSCRIPT=ON
-DUSE_SYSTEMD=$(usex systemd)
-DBUILD_TESTING=$(usex test)
-DLOGROTATE_HAS_SU=ON
# only appends -flto
-DICINGA2_LTO_BUILD=OFF
)
# 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)
-DICINGA2_WITH_MYSQL=$(usex mysql yes $(usex mariadb))
)
fi
cmake_src_configure
}
src_install() {
cmake_src_install
newinitd "${FILESDIR}"/icinga2.initd-3 icinga2
if use mysql || use mariadb; 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 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
# See messiness in bug #638686
keepdir /etc/icinga2
keepdir /var/lib/icinga2/api/log
keepdir /var/lib/icinga2/api/repository
keepdir /var/lib/icinga2/api/zones
keepdir /var/lib/icinga2/api/zones-stage
keepdir /var/lib/icinga2/certificate-requests
keepdir /var/lib/icinga2/certs
keepdir /var/log/icinga2
keepdir /var/log/icinga2/compat
keepdir /var/log/icinga2/compat/archives
keepdir /var/log/icinga2/crash
keepdir /var/spool/icinga2/perfdata
keepdir /var/spool/icinga2/tmp
rm -r "${D}/run" || die "failed to remove /run"
rm -r "${D}/var/cache" || die "failed to remove /var/cache"
fowners -R icinga:icinga /etc/icinga2
fperms 0750 /etc/icinga2
fowners icinga:icinga /var/lib/icinga2
fowners -R icinga:icingacmd /var/lib/icinga2/api
fowners -R icinga:icingacmd /var/lib/icinga2/certificate-requests
fowners -R icinga:icingacmd /var/lib/icinga2/certs
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
insinto /usr/share/vim/vimfiles
doins -r "${WORKDIR}"/${P}/tools/syntax/vim/ftdetect
doins -r "${WORKDIR}"/${P}/tools/syntax/vim/syntax
insinto /usr/share/nano
doins "${WORKDIR}"/${P}/tools/syntax/nano/icinga2.nanorc
}
pkg_postinst() {
if [[ "${PV}" != 9999 ]] && ver_replacing -lt "${PV}"; then
elog "DB IDO schema upgrade may be required."
elog "https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/"
fi
}

View File

@@ -27,6 +27,7 @@ DEPEND="
console? ( dev-libs/libedit )
mariadb? ( dev-db/mariadb-connector-c:= )
mysql? ( dev-db/mysql-connector-c:= )
opentelemetry? ( dev-libs/protobuf:=[protoc] )
postgres? ( dev-db/postgresql:= )
dev-libs/yajl:=
acct-user/icinga