blob: f0e770a07ddb84621c2148e86fabcfe5a10c7b3f (
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
|
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GENTOO_DEPEND_ON_PERL=no
PYTHON_COMPAT=( python2_7 )
inherit autotools perl-module python-single-r1
MY_PV="${PV/_p/p}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="Nagios/Icinga event broker that allows quick/direct access to your status data"
HOMEPAGE="http://mathias-kettner.de/checkmk_livestatus.html"
SRC_URI="http://mathias-kettner.de/download/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="examples nagios4 perl python test"
RESTRICT="!test? ( test )"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="!sys-apps/ucspi-unix:0
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} )"
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
)
)"
# For perl test
SRC_TEST="parallel"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/1.2.8_p10-MEDIUM-Drop-default-strip.patch"
"${FILESDIR}/1.2.8_p10-MINOR-test-Remove-the-usage-of-Perl-Critic-Policy-Mo.patch"
)
src_prepare() {
default
# Use system Module::Install instead, it will be copied to $S by
# Module::install itself.
rm -rf api/perl/inc || die
if use perl; then
# Ensure patches are not applied twice
unset PATCHES
perl-module_src_prepare
fi
eautoreconf
}
src_configure() {
econf \
$(use_with nagios4)
if use perl; then
cd api/perl || die
perl-module_src_configure
fi
}
src_compile() {
emake
if use perl; then
cd api/perl || die
perl-module_src_compile
fi
}
src_test() {
if use perl; then
cd api/perl || die
export TEST_AUTHOR="Test Author"
perl-module_src_test
fi
}
src_install() {
emake install DESTDIR="${ED}"
# 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)/mk-livestatus/livestatus.o
EOF
# same for icigna
cat <<EOF >"${T}"/icigna.cfg
define module{
module_name mk-livestatus
module_type neb
path /usr/$(get_libdir)/mk-livestatus/livestatus.o
args /var/lib/icigna/rw/live
}
EOF
insinto /usr/share/mk-livestatus
doins "${T}"/{nagios,icigna}.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_foreach_impl 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 icigna and nagios are available in"
elog "/usr/share/${PN}"
}
|