diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2022-08-06 08:57:14 -0400 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2022-08-06 09:01:17 -0400 |
commit | cfa457c454509372a7cd9ba0d11e144f63a75e38 (patch) | |
tree | 036542994a2b73cbe52d8c53d52b334904eb9f34 /net-analyzer/nagios-plugins | |
parent | app-i18n/ibus: Keyword 1.5.26-r1 ia64, #863068 (diff) | |
download | gentoo-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.ebuild | 120 |
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" +} |