summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2022-08-06 08:57:14 -0400
committerMichael Orlitzky <mjo@gentoo.org>2022-08-06 09:01:17 -0400
commitcfa457c454509372a7cd9ba0d11e144f63a75e38 (patch)
tree036542994a2b73cbe52d8c53d52b334904eb9f34 /net-analyzer/nagios-plugins
parentapp-i18n/ibus: Keyword 1.5.26-r1 ia64, #863068 (diff)
downloadgentoo-cfa457c454509372a7cd9ba0d11e144f63a75e38.tar.gz
gentoo-cfa457c454509372a7cd9ba0d11e144f63a75e38.tar.bz2
gentoo-cfa457c454509372a7cd9ba0d11e144f63a75e38.zip
net-analyzer/nagios-plugins: new revision with -fno-strict-aliasing.
The code for the check_ntp plugin violates the strict aliasing rules of C, even though -fstrict-aliasing is enabled with -O2. First impression: it won't be easy to fix. So to prevent surprises, we append -fno-strict-aliasing to CFLAGS when it is supported. Closes: https://bugs.gentoo.org/861200 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
Diffstat (limited to 'net-analyzer/nagios-plugins')
-rw-r--r--net-analyzer/nagios-plugins/nagios-plugins-2.4.0-r1.ebuild120
1 files changed, 120 insertions, 0 deletions
diff --git a/net-analyzer/nagios-plugins/nagios-plugins-2.4.0-r1.ebuild b/net-analyzer/nagios-plugins/nagios-plugins-2.4.0-r1.ebuild
new file mode 100644
index 000000000000..732d59f1bb73
--- /dev/null
+++ b/net-analyzer/nagios-plugins/nagios-plugins-2.4.0-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="Official plugins for Nagios"
+HOMEPAGE="https://nagios-plugins.org/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/release-${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="ipv6 ldap mysql nagios-dns nagios-ping nagios-game postgres radius samba selinux snmp ssh +ssl"
+
+# Most of the plugins use automagic dependencies, i.e. the plugin will
+# get built if the binary it uses is installed. For example, check_snmp
+# will be built only if snmpget from net-analyzer/net-snmp[-minimal] is
+# installed. End result: most of our runtime dependencies are required
+# at build time as well.
+AUTOMAGIC_DEPEND="
+ nagios-dns? ( net-dns/bind-tools )
+ nagios-game? ( games-util/qstat )
+ nagios-ping? ( net-analyzer/fping )
+ samba? ( net-fs/samba )
+ ssh? ( net-misc/openssh )
+ snmp? ( dev-perl/Net-SNMP
+ net-analyzer/net-snmp[-minimal] )"
+
+# Perl really needs to run during the build...
+BDEPEND="${AUTOMAGIC_DEPEND}
+ dev-lang/perl"
+
+DEPEND="
+ ldap? ( net-nds/openldap:= )
+ mysql? ( dev-db/mysql-connector-c:= )
+ postgres? ( dev-db/postgresql:* )
+ ssl? (
+ dev-libs/openssl:0=
+ )
+ radius? ( net-dialup/freeradius-client )"
+
+# Basically everything in net-analyzer/monitoring-plugins collides with
+# nagios-plugins. Perl (from BDEPEND) is needed at runtime, too.
+RDEPEND="${BDEPEND}
+ ${DEPEND}
+ !net-analyzer/monitoring-plugins
+ selinux? ( sec-policy/selinux-nagios )"
+
+# At least one test is interactive.
+RESTRICT="test"
+
+DOCS=(
+ ACKNOWLEDGEMENTS
+ AUTHORS
+ CODING
+ ChangeLog
+ FAQ
+ NEWS
+ README
+ REQUIREMENTS
+ SUPPORT
+ THANKS
+)
+
+PATCHES=(
+ "${FILESDIR}/define-own-mysql-port-constant.patch"
+)
+
+src_prepare() {
+ default
+
+ # Fix the path to our perl interpreter
+ sed -i -e "1s:/usr/local/bin/perl:/usr/bin/perl:" \
+ "${S}"/plugins-scripts/*.pl \
+ || die 'failed to fix perl interpreter path'
+}
+
+src_configure() {
+ # Disable -fstrict-aliasing until check_ntp can be fixed,
+ # https://github.com/nagios-plugins/nagios-plugins/issues/665
+ append-cflags $(test-flags-CC -fno-strict-aliasing)
+
+ # Use an array to prevent econf from mangling the ping args.
+ local myconf=()
+
+ if use ssl; then
+ myconf+=( $(use_with ssl openssl /usr) )
+ else
+ myconf+=( --without-openssl )
+ myconf+=( --without-gnutls )
+ fi
+
+ # The autodetection for these two commands can hang if localhost is
+ # down or ICMP traffic is filtered. Bug #468296.
+ myconf+=( --with-ping-command="/bin/ping -n -U -w %d -c %d %s" )
+
+ if use ipv6; then
+ myconf+=( --with-ping6-command="/bin/ping6 -n -U -w %d -c %d %s" )
+ fi
+
+ econf \
+ $(use_with mysql) \
+ $(use_with ipv6) \
+ $(use_with ldap) \
+ $(use_with postgres pgsql /usr) \
+ $(use_with radius) \
+ "${myconf[@]}" \
+ --libexecdir="/usr/$(get_libdir)/nagios/plugins" \
+ --sysconfdir="/etc/nagios"
+}
+
+pkg_postinst() {
+ elog "This ebuild has a number of USE flags that determine what you"
+ elog "are able to monitor. Depending on what you want to monitor, some"
+ elog "or all of these USE flags need to be set."
+ elog
+ elog "The plugins are installed in ${ROOT}/usr/$(get_libdir)/nagios/plugins"
+}