summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2024-12-18 21:59:48 -0500
committerMichael Orlitzky <mjo@gentoo.org>2024-12-18 22:01:38 -0500
commitc8c054f0466ec205c28a56a876de653c069dc264 (patch)
treefa973807fc7949105f56b40aeda5dac5f450a008 /net-analyzer
parentnet-wireless/gnuradio: add 3.10.11.0 (diff)
downloadgentoo-c8c054f0466ec205c28a56a876de653c069dc264.tar.gz
gentoo-c8c054f0466ec205c28a56a876de653c069dc264.tar.bz2
gentoo-c8c054f0466ec205c28a56a876de653c069dc264.zip
net-analyzer/ndoutils: add 2.1.4
Closes: https://bugs.gentoo.org/946581 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'net-analyzer')
-rw-r--r--net-analyzer/ndoutils/Manifest1
-rw-r--r--net-analyzer/ndoutils/files/c23-compatibility.patch40
-rw-r--r--net-analyzer/ndoutils/ndoutils-2.1.4.ebuild103
3 files changed, 144 insertions, 0 deletions
diff --git a/net-analyzer/ndoutils/Manifest b/net-analyzer/ndoutils/Manifest
index cfd355276a0c..f96b584772be 100644
--- a/net-analyzer/ndoutils/Manifest
+++ b/net-analyzer/ndoutils/Manifest
@@ -1 +1,2 @@
DIST ndoutils-2.1.3.tar.gz 2182999 BLAKE2B 390548b9018d4434d5d0f69abee1d1a11f4e240150941f7f2f9e2662eb2cdb2f29b24244e094d5bdf8bfaf6c3be7bc8ebd9e6d510d66edad8bc9cf3245d5c2c3 SHA512 727f2051876ff32cafaf9993a69b721ae4ea81031fade12262dbb4c5399c601f3c1af362d9d550e1d6d56fac8fe044d515dc10fc43e7d4d3e981bc9a89db88de
+DIST ndoutils-2.1.4.tar.gz 2188648 BLAKE2B 751e206c6f2827c1a1277e7b5f1d72285c21fa22a8f50d7c488c35ad66353392279bf9f6ecdce978874d0c90da15a95369f46f758994d33b861154161919e98b SHA512 cb6991d9d79f4c438833035fb8434b1cf0f5c27393506a422c134c2c49a5eec2a9f068a59a304515bba62b4f114204b86ec1e2cd7f68b61b329ac1a7b30ef5eb
diff --git a/net-analyzer/ndoutils/files/c23-compatibility.patch b/net-analyzer/ndoutils/files/c23-compatibility.patch
new file mode 100644
index 000000000000..39d568acd73b
--- /dev/null
+++ b/net-analyzer/ndoutils/files/c23-compatibility.patch
@@ -0,0 +1,40 @@
+From c9e6b3476a36c9be81714c87ff75d3d1986e376d Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Wed, 18 Dec 2024 21:29:56 -0500
+Subject: [PATCH] include/queue.h: ensure prototypes match implementations
+
+In the latest C23 standard, the prototype
+
+ int get_queue_id();
+
+indicates that get_queue_id takes no arguments. This of course
+disagrees with its implementation, which takes one argument. C23 will
+be the default mode in GCC-15, where this leads to a build failure:
+
+ queue.c:57:5: error: conflicting types for 'get_queue_id'; have 'int(int)'
+ 57 | int get_queue_id(int id) {
+ | ^~~~~~~~~~~~
+ In file included from queue.c:30:
+ ../include/queue.h:40:5: note: previous declaration of 'get_queue_id' with
+ type 'int(void)'
+ 40 | int get_queue_id();
+ | ^~~~~~~~~~~~
+
+To fix it, we update the prototype for get_queue_id().
+---
+ include/queue.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/queue.h b/include/queue.h
+index 5f94e4d..4219c5b 100644
+--- a/include/queue.h
++++ b/include/queue.h
+@@ -37,7 +37,7 @@ struct queue_msg
+ void del_queue();
+
+ /* initialize new queue or open existing */
+-int get_queue_id();
++int get_queue_id(int);
+
+ /* insert into queue */
+ void push_into_queue(char*);
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"
+}