blob: a0d42e5b3a7e0c31275afd89d82676b0595a4bd1 (
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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
PYTHON_COMPAT=( python2_7 )
inherit autotools perl-module python-single-r1 toolchain-funcs
DESCRIPTION="Nagios/Icinga event broker that allows quick/direct access to your status data"
HOMEPAGE="https://checkmk.com/"
SRC_URI="https://checkmk.com/support/${PV/_}/${P/_}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="boost examples nagios4 perl python re2 test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
!sys-apps/ucspi-unix:0
net-analyzer/rrdtool:=
boost? ( dev-libs/boost )
perl? (
dev-lang/perl:0
virtual/perl-Digest-MD5:0
virtual/perl-Scalar-List-Utils:0
>=virtual/perl-Thread-Queue-2.11:0
virtual/perl-Encode:0
dev-perl/JSON-XS:0
)
python? ( ${PYTHON_DEPS} )
re2? ( dev-libs/re2:= )
"
DEPEND="
${RDEPEND}
perl? (
dev-perl/Module-Install:0
virtual/perl-ExtUtils-MakeMaker:0
virtual/perl-File-Path:0
virtual/perl-File-Spec:0
virtual/perl-File-Temp:0
test? (
dev-perl/File-Copy-Recursive:0
dev-perl/Test-Pod:0
dev-perl/Test-Perl-Critic:0
dev-perl/Test-Pod-Coverage:0
dev-perl/Perl-Critic:0
dev-perl/Perl-Critic-Policy-Dynamic-NoIndirect:0
dev-perl/Perl-Critic-Deprecated:0
dev-perl/Perl-Critic-Nits:0
)
)
"
PATCHES=(
"${FILESDIR}"/1.2.8_p10-MINOR-test-Remove-the-usage-of-Perl-Critic-Policy-Mo.patch
"${FILESDIR}"/${PN}-1.5.0_p22-rm.patch
)
S=${WORKDIR}/${P/_}
src_prepare() {
default
# Use system Module::Install instead, it will be copied to $S by
# Module::install itself.
rm -rf api/perl/inc || die
# failing test
rm -rf api/perl/t/20-Monitoring-Livestatus-test_socket.t || die
if use perl; then
# Ensure patches are not applied twice
unset PATCHES
perl-module_src_prepare
fi
eautoreconf
}
src_configure() {
tc-export CC CXX
econf \
$(use_with boost boost-asio) \
$(use_with nagios4) \
$(use_with re2)
if use perl; then
cd api/perl || die
perl-module_src_configure
fi
}
src_compile() {
default
if use perl; then
cd api/perl || die
perl-module_src_compile
fi
}
src_test() {
if use perl; then
cd api/perl || die
SRC_TEST="parallel"
export TEST_AUTHOR="Test Author"
perl-module_src_test
fi
}
src_install() {
default
rm "${ED}"/usr/$(get_libdir)/${PN}/liblivestatus.a || die
# install a config file showing whats needed to enable livestatus for nagios
cat <<EOF >"${T}"/nagios.cfg
# Ensure all data is set to event brokers
event_broker_options=-1
broker_module=${EPREFIX}/usr/$(get_libdir)/${PN}/livestatus.o
EOF
# same for icinga
cat <<EOF >"${T}"/icinga.cfg
define module{
module_name ${PN}
module_type neb
path /usr/$(get_libdir)/${PN}/livestatus.o
args /var/lib/icinga/rw/live
}
EOF
insinto /usr/share/${PN}
doins "${T}"/{nagios,icinga}.cfg
if use perl; then
cd api/perl || die
perl-module_src_install
cd "${S}"
if use examples; then
docinto /
newdoc api/perl/README README.perl
docinto examples
dodoc api/perl/examples/dump.pl
fi
fi
if use python; then
python_domodule api/python/livestatus.py
if use examples; then
docinto /
newdoc api/python/README README.python
docinto examples
dodoc api/python/{example,example_multisite,make_nagvis_map}.py
fi
fi
}
pkg_postinst() {
elog "Sample configurations for icinga and nagios are available in"
elog "/usr/share/${PN}"
}
|