diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2024-12-18 21:59:48 -0500 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2024-12-18 22:01:38 -0500 |
commit | c8c054f0466ec205c28a56a876de653c069dc264 (patch) | |
tree | fa973807fc7949105f56b40aeda5dac5f450a008 /net-analyzer | |
parent | net-wireless/gnuradio: add 3.10.11.0 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | net-analyzer/ndoutils/files/c23-compatibility.patch | 40 | ||||
-rw-r--r-- | net-analyzer/ndoutils/ndoutils-2.1.4.ebuild | 103 |
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" +} |