diff options
Diffstat (limited to 'net-analyzer/ndoutils/ndoutils-2.1.4.ebuild')
-rw-r--r-- | net-analyzer/ndoutils/ndoutils-2.1.4.ebuild | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/net-analyzer/ndoutils/ndoutils-2.1.4.ebuild b/net-analyzer/ndoutils/ndoutils-2.1.4.ebuild new file mode 100644 index 000000000000..3dbb09ef8ec0 --- /dev/null +++ b/net-analyzer/ndoutils/ndoutils-2.1.4.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools systemd + +DESCRIPTION="Nagios addon to store Nagios data in a database" +HOMEPAGE="https://github.com/NagiosEnterprises/ndoutils" +SRC_URI="https://github.com/NagiosEnterprises/${PN}/archive/${P}.tar.gz" +S="${WORKDIR}/${PN}-${P}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~riscv ~x86" + +DEPEND=" + dev-db/mysql-connector-c + dev-perl/DBD-mysql + dev-perl/DBI" + +# The default value of the --with-ndo2db-{user,group} flag is "nagios". +# For unrelated reasons, we actually patch out the build-time dependency +# on the user/group, but it should still be there at runtime. +RDEPEND="${DEPEND} + acct-user/nagios + acct-group/nagios + virtual/mysql" + +PATCHES=( + "${FILESDIR}"/format-security.patch + "${FILESDIR}"/sample-config-piddir.patch + "${FILESDIR}"/openrc-init.patch + "${FILESDIR}"/c23-compatibility.patch +) + +src_prepare() { + default + + # ./configure is ancient and doesn't know that e.g. riscv exists + eautoreconf +} + +src_configure() { + # The localstatedir is where our socket will be created by the + # nagios daemon, so we put it in /var/lib/nagios where the "nagios" + # user will be able to write. + # + # And normally, we would use /run for the pid file, but the daemon + # drops permissions before creating it, so the piddir also needs + # to be writable by the nagios user. + # + # Oh, and the build fails without --enable-mysql, so don't try. + # + econf --enable-mysql \ + --localstatedir=/var/lib/nagios \ + --sysconfdir=/etc/nagios \ + --with-piddir=/var/lib/nagios +} + +src_compile() { + # Avoid "emake all" so that we don't build the stuff for nagios-2.x + # and nagios-3.x, some of which throws QA warnings. We don't use it + # anyway. + emake -C src file2sock log2ndo ndo2db-4x ndomod-4x.o sockdebug +} + +src_install() { + # The documentation isn't installed by the build system + HTML_DOCS=( docs/html/. ) + default + + dodoc Changelog UPGRADING \ + "docs/NDOUTILS DB Model.pdf" "docs/NDOUtils Documentation.pdf" + + systemd_newunit startup/default-service ndoutils.service + + insinto /etc/nagios + newins config/ndo2db.cfg-sample ndo2db.cfg + newins config/ndomod.cfg-sample ndomod.cfg + newinitd startup/openrc-init ndo2db + newconfd startup/openrc-conf ndo2db + + insinto /usr/share/ndoutils + doins -r db + + # These need to be executable... + exeinto /usr/share/ndoutils/db + doexe db/{installdb,prepsql,upgradedb} + + # Use symlinks because the installdb/upgradedb scripts use relative + # paths to the SQL queries. + dosym ../share/ndoutils/db/installdb /usr/bin/ndoutils-installdb + dosym ../share/ndoutils/db/upgradedb /usr/bin/ndoutils-upgradedb + + keepdir /var/lib/nagios +} + +pkg_postinst() { + elog "To include NDO in your Nagios setup, you'll need to activate" + elog "the NDO broker module in /etc/nagios/nagios.cfg:" + elog " broker_module=/usr/bin/ndomod.o config_file=/etc/nagios/ndomod.cfg" +} |