From 93765a49985935b8bf3f441efbc87e7bec00befd Mon Sep 17 00:00:00 2001 From: Matthew Thode Date: Wed, 19 Aug 2026 13:43:59 -0500 Subject: [PATCH] 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 --- net-analyzer/icinga2/Manifest | 1 + net-analyzer/icinga2/icinga2-2.16.5.ebuild | 157 +++++++++++++++++++++ net-analyzer/icinga2/icinga2-9999.ebuild | 1 + 3 files changed, 159 insertions(+) create mode 100644 net-analyzer/icinga2/icinga2-2.16.5.ebuild diff --git a/net-analyzer/icinga2/Manifest b/net-analyzer/icinga2/Manifest index 87e0ef2b79685..6362facde97e9 100644 --- a/net-analyzer/icinga2/Manifest +++ b/net-analyzer/icinga2/Manifest @@ -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 diff --git a/net-analyzer/icinga2/icinga2-2.16.5.ebuild b/net-analyzer/icinga2/icinga2-2.16.5.ebuild new file mode 100644 index 0000000000000..d9e1e93bdc889 --- /dev/null +++ b/net-analyzer/icinga2/icinga2-2.16.5.ebuild @@ -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 +} diff --git a/net-analyzer/icinga2/icinga2-9999.ebuild b/net-analyzer/icinga2/icinga2-9999.ebuild index 99745d7b4483a..bfb38efe064eb 100644 --- a/net-analyzer/icinga2/icinga2-9999.ebuild +++ b/net-analyzer/icinga2/icinga2-9999.ebuild @@ -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