blob: 88ccfbde884b1f8e53a9e683bb4bfa2348d4c79e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-analyzer/nrpe/nrpe-2.15.ebuild,v 1.8 2014/05/17 13:50:44 ago Exp $
EAPI=4
inherit eutils toolchain-funcs multilib user autotools
DESCRIPTION="Nagios Remote Plugin Executor"
HOMEPAGE="http://www.nagios.org/"
SRC_URI="mirror://sourceforge/nagios/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="alpha amd64 hppa ppc ppc64 sparc x86"
IUSE="command-args ssl tcpd minimal"
DEPEND="ssl? ( dev-libs/openssl )
!minimal? ( tcpd? ( sys-apps/tcp-wrappers ) )"
RDEPEND="${DEPEND}
!minimal? ( >=net-analyzer/nagios-plugins-1.3.0 )"
pkg_setup() {
enewgroup nagios
enewuser nagios -1 /bin/bash /dev/null nagios
elog "If you plan to use \"nrpe_check_control\" then you may want to specify"
elog "different command and services files. You can override the defaults"
elog "through the \"NAGIOS_COMMAND_FILE\" and \"NAGIOS_SERVICES_FILE\" environment variables."
elog "NAGIOS_COMMAND_FILE=${NAGIOS_COMMAND_FILE:-/var/rw/nagios.cmd}"
elog "NAGIOS_SERVICES_FILE=${NAGIOS_SERVICES_FILE:-/etc/services.cfg}"
}
src_prepare() {
# Add support for large output,
# http://opsview-blog.opsera.com/dotorg/2008/08/enhancing-nrpe.html
epatch "${FILESDIR}"/${PN}-2.14-multiline.patch
# fix configure, among others #326367, #397603
epatch "${FILESDIR}"/${PN}-2.15-tcpd-et-al.patch
# otherwise autoconf will overwrite the custom include/config.h.in
epatch "${FILESDIR}"/${PN}-2.15-autoconf-header.patch
# improve handling of metachars for security
epatch "${FILESDIR}"/${PN}-2.15-metachar-security-fix.patch
sed -i -e '/define \(COMMAND\|SERVICES\)_FILE/d' contrib/nrpe_check_control.c || die
# change the default location of the pid file
sed -i -e '/pid_file/s:/var/run:/run:' sample-config/nrpe.cfg.in || die
# fix TFU handling of autoheader
sed -i -e '/#undef/d' include/config.h.in || die
eautoreconf
}
src_configure() {
local myconf
if use minimal; then
myconf="--disable-tcp-wrapper --disable-command-args"
else
myconf="$(use_enable tcpd tcp-wrapper) $(use_enable command-args)"
fi
econf \
--libexecdir=/usr/$(get_libdir)/nagios/plugins \
--localstatedir=/var/nagios \
--sysconfdir=/etc/nagios \
--with-nrpe-user=nagios \
--with-nrpe-group=nagios \
$(use_enable ssl) \
${myconf}
}
src_compile() {
emake -C src check_nrpe $(use minimal || echo nrpe)
# Add nifty nrpe check tool
$(tc-getCC) ${CPPFLAGS} ${CFLAGS} \
-DCOMMAND_FILE=\"${NAGIOS_COMMAND_FILE:-/var/rw/nagios.cmd}\" \
-DSERVICES_FILE=\"${NAGIOS_SERVICES_FILE:-/etc/services.cfg}\" \
${LDFLAGS} -o nrpe_check_control contrib/nrpe_check_control.c || die
}
src_install() {
dodoc LEGAL Changelog README SECURITY \
contrib/README.nrpe_check_control \
$(use ssl && echo README.SSL)
exeinto /usr/$(get_libdir)/nagios/plugins
doexe src/check_nrpe nrpe_check_control
use minimal && return 0
## NON-MINIMAL INSTALL FOLLOWS ##
insinto /etc/nagios
newins sample-config/nrpe.cfg nrpe.cfg
fowners root:nagios /etc/nagios/nrpe.cfg
fperms 0640 /etc/nagios/nrpe.cfg
exeinto /usr/libexec
doexe src/nrpe
newinitd "${FILESDIR}"/nrpe.init nrpe
insinto /etc/xinetd.d/
newins "${FILESDIR}/nrpe.xinetd.2" nrpe
if use tcpd; then
sed -i -e '/^reload()/, /^}/ d' -e '/extra_started_commands/s:reload::' \
"${D}"/etc/init.d/nrpe
fi
}
pkg_postinst() {
elog "If you are using the nrpe daemon, remember to edit"
elog "the config file /etc/nagios/nrpe.cfg"
if use command-args ; then
ewarn ""
ewarn "You have enabled command-args for NRPE. This enables"
ewarn "the ability for clients to supply arguments to commands"
ewarn "which should be run. "
ewarn "THIS IS CONSIDERED A SECURITY RISK!"
ewarn "Please read /usr/share/doc/${PF}/SECURITY.bz2 for more info"
fi
}
|