Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-analyzer/zabbix/
Date: Mon, 06 Jun 2022 06:40:41
Message-Id: 1654497634.92c8eb6327f6a1635508582816429e9931e050fa.fordfrog@gentoo
1 commit: 92c8eb6327f6a1635508582816429e9931e050fa
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jun 6 06:40:22 2022 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Mon Jun 6 06:40:34 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92c8eb63
7
8 net-analyzer/zabbix: bump to 6.0.5
9
10 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
11
12 net-analyzer/zabbix/Manifest | 2 +
13 net-analyzer/zabbix/zabbix-6.0.5.ebuild | 409 ++++++++++++++++++++++++++++++++
14 2 files changed, 411 insertions(+)
15
16 diff --git a/net-analyzer/zabbix/Manifest b/net-analyzer/zabbix/Manifest
17 index 6a664733045d..eec944700c25 100644
18 --- a/net-analyzer/zabbix/Manifest
19 +++ b/net-analyzer/zabbix/Manifest
20 @@ -3,3 +3,5 @@ DIST zabbix-5.0.22-go-deps.tar.xz 34395200 BLAKE2B 3065878d5d61617f52ec48381a248
21 DIST zabbix-5.0.22.tar.gz 21245241 BLAKE2B d2343fc5dbc4112ef77c75bd00b8344a363a8e2acc6623a009ebd24d7116377a66d2ca94f22dee386fbee1fa9822ce7e08287cb1336fe939bd2b621fe57b5b1f SHA512 d326ed5dd81b44adf80e8cc01d32b3b7ebed0b8ffddc2870e76ffcd010513f2b2bbe4586681e5c5ab5202f88c7861078efad537bb852ee52d5c00b7712cc2aab
22 DIST zabbix-6.0.3-go-deps.tar.xz 35806596 BLAKE2B bf86722b1ee26237e42b4b3b5558415e0eb29dbe675b70585c8bb06c0b1e469ed9887e425778503c1d42ee2bd938b085f544d0696d080e04957dcb5794b7afa4 SHA512 0a5a051561dee2f3e42f18fff9127e3c8a0b5a7cae3a828a880866feac81a21ef71ba83c53f9e5a37fb3eee78475974b2f30ba5398012aeca6adf8d3cea74399
23 DIST zabbix-6.0.3.tar.gz 33135282 BLAKE2B d2cb50678710e96737e72ddb4b0b02d4695f872df6cab2edfd50d343ffc0103eec3191bfa02d8421e29c583f6d478598effc22a0f8d3f76b57a9ac3b4e4369fe SHA512 f93a7b4b19d2a1561e42ef67378bfb94a5edaae5b9bba8f2214de3bad1bf9d7efcb32da9f1b3ee820cc6bdc68308286606c4ceb7e1ba0ab42e24045c56f8ce47
24 +DIST zabbix-6.0.5-go-deps.tar.xz 36045828 BLAKE2B 71827dfb5313b986ed23c5c1d7a99a020feabe81b6ee8c7c13d7fda40ce8f5f6d7de26a05daba5fa2e589fc2577f2bcc0961d4f8f0881faaaa986f13e4ae0a16 SHA512 6c8f6731cc29df4d5870cfab71c809e5c844ebc88649b9d25fb6ef7c3671e2a247aad1a24dcaa4cbb35039cce57cfabfa7ac56473bd5b9317bb5ecaa0cbd2d53
25 +DIST zabbix-6.0.5.tar.gz 33778804 BLAKE2B 5bc2c370895c4744b6deb9d7c0501d890ffb2c343992ca2cee25872e29f0465e808905bf1a9c86749a2bfe56fa05aac521c1cff0549686426e7bd412dbd9ce58 SHA512 c4a431ba9c22ccb59c6eaac4147e40390e5e9a1f7a13638f2daa3dab3a75145104e711585b374eed0e663a3dc495d4b3b74c78b7676baafbfcca983f645054e8
26
27 diff --git a/net-analyzer/zabbix/zabbix-6.0.5.ebuild b/net-analyzer/zabbix/zabbix-6.0.5.ebuild
28 new file mode 100644
29 index 000000000000..2c3763fb8d9c
30 --- /dev/null
31 +++ b/net-analyzer/zabbix/zabbix-6.0.5.ebuild
32 @@ -0,0 +1,409 @@
33 +# Copyright 1999-2022 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +# To create the go modules tarball:
37 +# cd src/go
38 +# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw
39 +# tar -acf zabbix-${PV}-go-deps.tar.xz go-mod
40 +
41 +EAPI=8
42 +
43 +GO_OPTIONAL="yes"
44 +# needed to make webapp-config dep optional
45 +WEBAPP_OPTIONAL="yes"
46 +inherit webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info
47 +
48 +DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers"
49 +HOMEPAGE="https://www.zabbix.com/"
50 +MY_P=${P/_/}
51 +MY_PV=${PV/_/}
52 +SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz
53 + agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz )
54 +"
55 +
56 +LICENSE="GPL-2"
57 +SLOT="0/$(ver_cut 1-2)"
58 +WEBAPP_MANUAL_SLOT="yes"
59 +KEYWORDS="~amd64 ~x86"
60 +IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl oracle +pcre2 +postgres proxy server snmp sqlite ssh static"
61 +REQUIRED_USE="|| ( agent agent2 frontend proxy server )
62 + ?? ( gnutls openssl )
63 + proxy? ( ^^ ( mysql oracle postgres sqlite ) )
64 + server? ( ^^ ( mysql oracle postgres ) !sqlite )
65 + static? ( !oracle !snmp )"
66 +
67 +COMMON_DEPEND="
68 + curl? ( net-misc/curl )
69 + gnutls? ( net-libs/gnutls:0= )
70 + java? ( >=virtual/jdk-1.8:* )
71 + ldap? (
72 + =dev-libs/cyrus-sasl-2*
73 + net-libs/gnutls:=
74 + net-nds/openldap:=
75 + )
76 + libxml2? ( dev-libs/libxml2 )
77 + mysql? ( dev-db/mysql-connector-c:= )
78 + odbc? ( dev-db/unixODBC )
79 + openipmi? ( sys-libs/openipmi )
80 + openssl? ( dev-libs/openssl:=[-bindist(-)] )
81 + oracle? ( dev-db/oracle-instantclient[odbc,sdk] )
82 + postgres? ( dev-db/postgresql:* )
83 + proxy? ( sys-libs/zlib )
84 + server? (
85 + dev-libs/libevent:=
86 + sys-libs/zlib
87 + )
88 + snmp? ( net-analyzer/net-snmp:= )
89 + sqlite? ( dev-db/sqlite )
90 + ssh? ( net-libs/libssh2 )
91 +"
92 +
93 +RDEPEND="${COMMON_DEPEND}
94 + acct-group/zabbix
95 + acct-user/zabbix
96 + java? ( >=virtual/jre-1.8:* )
97 + mysql? ( virtual/mysql )
98 + proxy? ( net-analyzer/fping[suid] )
99 + server? (
100 + app-admin/webapp-config
101 + dev-libs/libevent
102 + !pcre2? ( dev-libs/libpcre )
103 + pcre2? ( dev-libs/libpcre2:= )
104 + net-analyzer/fping[suid]
105 + )
106 + frontend? (
107 + app-admin/webapp-config
108 + dev-lang/php:*[bcmath,ctype,sockets,gd,truetype,xml,session,xmlreader,xmlwriter,nls,sysvipc,unicode]
109 + media-libs/gd[png]
110 + virtual/httpd-php:*
111 + mysql? ( dev-lang/php[mysqli] )
112 + odbc? ( dev-lang/php[odbc] )
113 + oracle? ( dev-lang/php[oci8-instant-client] )
114 + postgres? ( dev-lang/php[postgres] )
115 + sqlite? ( dev-lang/php[sqlite] )
116 + )
117 +"
118 +DEPEND="${COMMON_DEPEND}
119 + static? (
120 + curl? ( net-misc/curl[static-libs] )
121 + ldap? (
122 + =dev-libs/cyrus-sasl-2*[static-libs]
123 + net-libs/gnutls[static-libs]
124 + net-nds/openldap[static-libs]
125 + )
126 + libxml2? ( dev-libs/libxml2[static-libs] )
127 + mysql? ( dev-db/mysql-connector-c[static-libs] )
128 + odbc? ( dev-db/unixODBC[static-libs] )
129 + postgres? ( dev-db/postgresql:*[static-libs] )
130 + sqlite? ( dev-db/sqlite[static-libs] )
131 + ssh? ( net-libs/libssh2 )
132 + )
133 +"
134 +BDEPEND="
135 + virtual/pkgconfig
136 + agent2? (
137 + >=dev-lang/go-1.12
138 + app-arch/unzip
139 + )
140 +"
141 +
142 +# upstream tests fail for agent2
143 +RESTRICT="test"
144 +
145 +PATCHES=(
146 + "${FILESDIR}/${PN}-4.0.18-modulepathfix.patch"
147 + "${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch"
148 + "${FILESDIR}/${PN}-6.0.3-system.sw.packages.patch"
149 +)
150 +
151 +S=${WORKDIR}/${MY_P}
152 +
153 +ZABBIXJAVA_BASE="opt/zabbix_java"
154 +
155 +pkg_setup() {
156 + if use oracle; then
157 + if [ -z "${ORACLE_HOME}" ]; then
158 + eerror
159 + eerror "The environment variable ORACLE_HOME must be set"
160 + eerror "and point to the correct location."
161 + eerror "It looks like you don't have Oracle installed."
162 + eerror
163 + die "Environment variable ORACLE_HOME is not set"
164 + fi
165 + fi
166 +
167 + if use frontend; then
168 + webapp_pkg_setup
169 + fi
170 +
171 + java-pkg-opt-2_pkg_setup
172 +}
173 +
174 +src_prepare() {
175 + default
176 +}
177 +
178 +src_configure() {
179 + local econf_args=(
180 + "$(use_enable agent)"
181 + "$(use_enable agent2)"
182 + "$(use_enable ipv6)"
183 + "$(use_enable java)"
184 + "$(use_enable proxy)"
185 + "$(use_enable server)"
186 + "$(use_enable static)"
187 + "$(use_with curl libcurl)"
188 + "$(use_with gnutls)"
189 + "$(use_with ldap)"
190 + "$(use_with libxml2)"
191 + "$(use_with mysql)"
192 + "$(use_with odbc unixodbc)"
193 + "$(use_with openipmi openipmi)"
194 + "$(use_with openssl)"
195 + "$(use_with oracle)"
196 + "$(use_with postgres postgresql)"
197 + "$(use_with snmp net-snmp)"
198 + "$(use_with sqlite sqlite3)"
199 + "$(use_with ssh ssh2)"
200 + )
201 +
202 + if use pcre2; then
203 + econf_args+=( --with-libpcre2 )
204 + else
205 + # If pcre2 is not enabled, then use the old pcre library.
206 + econf_args+=( --with-libpcre )
207 + fi
208 +
209 + econf ${econf_args[@]}
210 +}
211 +
212 +src_compile() {
213 + if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then
214 + emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
215 + fi
216 +}
217 +
218 +src_install() {
219 + local dirs=(
220 + /etc/zabbix
221 + /var/lib/zabbix
222 + /var/lib/zabbix/home
223 + /var/lib/zabbix/scripts
224 + /var/lib/zabbix/alertscripts
225 + /var/lib/zabbix/externalscripts
226 + /var/log/zabbix
227 + )
228 +
229 + for dir in "${dirs[@]}"; do
230 + dodir "${dir}"
231 + keepdir "${dir}"
232 + done
233 +
234 + if use server; then
235 + insinto /etc/zabbix
236 + doins "${S}"/conf/zabbix_server.conf
237 + fperms 0640 /etc/zabbix/zabbix_server.conf
238 + fowners root:zabbix /etc/zabbix/zabbix_server.conf
239 +
240 + newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server
241 +
242 + dosbin src/zabbix_server/zabbix_server
243 +
244 + insinto /usr/share/zabbix
245 + doins -r "${S}"/database/
246 +
247 + systemd_dounit "${FILESDIR}"/zabbix-server.service
248 + newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf
249 + fi
250 +
251 + if use proxy; then
252 + insinto /etc/zabbix
253 + doins "${S}"/conf/zabbix_proxy.conf
254 + fperms 0640 /etc/zabbix/zabbix_proxy.conf
255 + fowners root:zabbix /etc/zabbix/zabbix_proxy.conf
256 +
257 + newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy
258 +
259 + dosbin src/zabbix_proxy/zabbix_proxy
260 +
261 + insinto /usr/share/zabbix
262 + doins -r "${S}"/database/
263 +
264 + systemd_dounit "${FILESDIR}"/zabbix-proxy.service
265 + newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf
266 + fi
267 +
268 + if use agent; then
269 + insinto /etc/zabbix
270 + doins "${S}"/conf/zabbix_agentd.conf
271 + fperms 0640 /etc/zabbix/zabbix_agentd.conf
272 + fowners root:zabbix /etc/zabbix/zabbix_agentd.conf
273 +
274 + newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd
275 +
276 + dosbin src/zabbix_agent/zabbix_agentd
277 + dobin \
278 + src/zabbix_sender/zabbix_sender \
279 + src/zabbix_get/zabbix_get
280 +
281 + systemd_dounit "${FILESDIR}"/zabbix-agentd.service
282 + newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf
283 + fi
284 + if use agent2; then
285 + insinto /etc/zabbix
286 + doins "${S}"/src/go/conf/zabbix_agent2.conf
287 + fperms 0640 /etc/zabbix/zabbix_agent2.conf
288 + fowners root:zabbix /etc/zabbix/zabbix_agent2.conf
289 +
290 + newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2
291 +
292 + dosbin src/go/bin/zabbix_agent2
293 +
294 + systemd_dounit "${FILESDIR}"/zabbix-agent2.service
295 + newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf
296 + fi
297 +
298 + fowners root:zabbix /etc/zabbix
299 + fowners zabbix:zabbix \
300 + /var/lib/zabbix \
301 + /var/lib/zabbix/home \
302 + /var/lib/zabbix/scripts \
303 + /var/lib/zabbix/alertscripts \
304 + /var/lib/zabbix/externalscripts \
305 + /var/log/zabbix
306 + fperms 0750 \
307 + /etc/zabbix \
308 + /var/lib/zabbix \
309 + /var/lib/zabbix/home \
310 + /var/lib/zabbix/scripts \
311 + /var/lib/zabbix/alertscripts \
312 + /var/lib/zabbix/externalscripts \
313 + /var/log/zabbix
314 +
315 + dodoc README INSTALL NEWS ChangeLog \
316 + conf/zabbix_agentd.conf \
317 + conf/zabbix_proxy.conf \
318 + conf/zabbix_agentd/userparameter_examples.conf \
319 + conf/zabbix_agentd/userparameter_mysql.conf \
320 + conf/zabbix_server.conf
321 +
322 + if use frontend; then
323 + webapp_src_preinst
324 + cp -R ui/* "${D}/${MY_HTDOCSDIR}"
325 + webapp_configfile \
326 + "${MY_HTDOCSDIR}"/include/db.inc.php \
327 + "${MY_HTDOCSDIR}"/include/config.inc.php
328 + webapp_src_install
329 + fi
330 +
331 + if use java; then
332 + dodir \
333 + /${ZABBIXJAVA_BASE} \
334 + /${ZABBIXJAVA_BASE}/bin \
335 + /${ZABBIXJAVA_BASE}/lib
336 + keepdir /${ZABBIXJAVA_BASE}
337 + exeinto /${ZABBIXJAVA_BASE}/bin
338 + doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar
339 + exeinto /${ZABBIXJAVA_BASE}/lib
340 + doexe \
341 + src/zabbix_java/lib/logback-classic-1.2.9.jar \
342 + src/zabbix_java/lib/logback-console.xml \
343 + src/zabbix_java/lib/logback-core-1.2.9.jar \
344 + src/zabbix_java/lib/logback.xml \
345 + src/zabbix_java/lib/android-json-4.3_r3.1.jar \
346 + src/zabbix_java/lib/slf4j-api-1.7.32.jar
347 + newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy
348 + newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy
349 + fi
350 +}
351 +
352 +pkg_postinst() {
353 + if use server || use proxy ; then
354 + elog
355 + elog "You may need to configure your database for Zabbix"
356 + elog "if you have not already done so."
357 + elog
358 +
359 + zabbix_homedir=$(egethome zabbix)
360 + if [ -n "${zabbix_homedir}" ] && \
361 + [ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then
362 + ewarn
363 + ewarn "The user 'zabbix' should have his homedir changed"
364 + ewarn "to /var/lib/zabbix/home if you want to use"
365 + ewarn "custom alert scripts."
366 + ewarn
367 + ewarn "A real homedir might be needed for configfiles"
368 + ewarn "for custom alert scripts."
369 + ewarn
370 + ewarn "To change the homedir use:"
371 + ewarn " usermod -d /var/lib/zabbix/home zabbix"
372 + ewarn
373 + fi
374 + fi
375 +
376 + if use server; then
377 + tmpfiles_process zabbix-server.conf
378 +
379 + elog
380 + elog "For distributed monitoring you have to run:"
381 + elog
382 + elog "zabbix_server -n <nodeid>"
383 + elog
384 + elog "This will convert database data for use with Node ID"
385 + elog "and also adds a local node."
386 + elog
387 +
388 + if ! use pcre2; then
389 + ewarn "You are using zabbix with dev-libs/libpcre which is deprecated."
390 + ewarn "Consider switching to dev-libs/libpcre2 (USE=pcre2) as soon as possible."
391 + ewarn "See https://www.zabbix.com/documentation/6.0/en/manual/installation/upgrade_notes_600#pcre2-support"
392 + fi
393 + fi
394 +
395 + if use proxy; then
396 + tmpfiles_process zabbix-proxy.conf
397 + fi
398 +
399 + if use agent; then
400 + tmpfiles_process zabbix-agentd.conf
401 + fi
402 +
403 + if use agent2; then
404 + tmpfiles_process zabbix-agent2.conf
405 + fi
406 +
407 + elog "--"
408 + elog
409 + elog "You may need to add these lines to /etc/services:"
410 + elog
411 + elog "zabbix-agent 10050/tcp Zabbix Agent"
412 + elog "zabbix-agent 10050/udp Zabbix Agent"
413 + elog "zabbix-trapper 10051/tcp Zabbix Trapper"
414 + elog "zabbix-trapper 10051/udp Zabbix Trapper"
415 + elog
416 +
417 + if use server || use proxy ; then
418 + # check for fping
419 + fping_perms=$(stat -c %a /usr/sbin/fping 2>/dev/null)
420 + case "${fping_perms}" in
421 + 4[157][157][157])
422 + ;;
423 + *)
424 + ewarn
425 + ewarn "If you want to use the checks 'icmpping' and 'icmppingsec',"
426 + ewarn "you have to make /usr/sbin/fping setuid root and executable"
427 + ewarn "by everyone. Run the following command to fix it:"
428 + ewarn
429 + ewarn " chmod u=rwsx,g=rx,o=rx /usr/sbin/fping"
430 + ewarn
431 + ewarn "Please be aware that this might impose a security risk,"
432 + ewarn "depending on the code quality of fping."
433 + ewarn
434 + ;;
435 + esac
436 + fi
437 +}
438 +
439 +pkg_prerm() {
440 + (use frontend || use server) && webapp_pkg_prerm
441 +}