mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-analyzer/zabbix: dropped obsolete
Bug: https://bugs.gentoo.org/960318 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
@@ -1,14 +1,10 @@
|
||||
DIST zabbix-6.0.40-go-deps.tar.xz 31398540 BLAKE2B 48f9a15c6c3260d2b3fc98ff0a469ca3a283067a92b26547c34712d8d4abd322b9ba91e61485e1994a250d080036eedd9fc4cff6de7bb01aef8a0e775daf76f0 SHA512 e9017e75db00ecc87e100d8dbc7dcb26879790a61f25f7a83f7ff13b2fa5bb3c9884674d730305103be070e2bb22b3bdc3df6a4b98bcd94912cc3a1f9f1ec4dc
|
||||
DIST zabbix-6.0.40.tar.gz 41181725 BLAKE2B 2aa83987305beb6a76339389eafd1fb54ba33127bc2341aff082e890382ed83d89d04accd26bdc86fddc9c42ed72c642ac6bbb286656550665efdb3c377aab11 SHA512 b15517b525a48766d6654676807b75fdb697563693955f0d2b59642a46496914320afc97487c40771c9cdaf23bc0e85b1163942fc0ef9bc1f487ec5d77c8f103
|
||||
DIST zabbix-7.0.12-go-deps.tar.xz 34378732 BLAKE2B 80b0eb7d6fd4c3046bcdc989577d47bff3908a22fcd49673f5bf9801ada7ac669b4ce96674e62b9aca804f385c8877121dd546ff1454d391ab1b6ffbe7b220ab SHA512 1d18fc659412f3727201c2900b5057903026d139a54b4354956b5e6bfe1f0a006e81f63a15939f6b3a0ea0c30c7a914d43e4419d89ca0fdf255b309492ad6781
|
||||
DIST zabbix-7.0.12.tar.gz 45617597 BLAKE2B 785f87d1e613174ff77fa5ecc06490c9c6ce74b27f6b2170b35a343757edb0ee5fb3f6d338dacbd16a89f0501c3d8b3057504b3fd92e671346430d368abd8630 SHA512 53a1b6e64babc832902b4fc51e287b2808462305dc43d89702c93f26cb3aa6834984ce6cc427da371f9b6561cfb7a5eeb99c7f658dee2ad68df0c91e3620f2f7
|
||||
DIST zabbix-7.0.13-go-deps.tar.xz 34381580 BLAKE2B 0acdf38f362ef2cd9bf2d7b0c2a54637ecc732c79fe36926f4c19a2ebbf454daa61ef1457de81623e9a7407d6e8a773c8e03b3a355505a61eacd5d5dd9a7bac0 SHA512 4f5d566a3c2c7dfac2e54a8dd4f7bdaba9b7814701755c5d02cdc84b385d2af4e9215a131c811a7c6be15424e7822aec7d3c9ffc902c8db068950dc2d8fdc718
|
||||
DIST zabbix-7.0.13.tar.gz 45654298 BLAKE2B 8011590e32fe160e23eb1a58f03571842d7289a26b0d9cfa754fc22aa26c3e6af14f58607797f07b55698f5ef44e8d511f3b362376bd822ebea269e10fe6a744 SHA512 f6cd29c862c10bdbef3e949b4641a2dc340f1b6cceafbebf11074f55aa043540064bbedb80838f9bb4f3636a425f0d1260d3cf27a363d74307910c04c7c8642f
|
||||
DIST zabbix-7.0.16-go-deps.tar.xz 35430552 BLAKE2B 0914983651f7b112d86dce5b6a06ba516287d8a12fc44d23d3bd38fda8d040ebf3ec3663cddd270bb5b6afa742fef5d81c2602534398f4c0e47b059e243e9df8 SHA512 ac300b19f9d37d700215caa4573c93bb1df18d0f4cf16e5ca4d7626deeb7432d431bd8ba5083cad6673d758cd3d86611a9946a1432959856f3959434f29bd8b5
|
||||
DIST zabbix-7.0.16.tar.gz 45879449 BLAKE2B 5b5ae98fd9ff819b0a202ad566fc4e9523991f67a13a0967986299cafe962e54c7769dffe821b59c55bd2b6e437ea913a6f7074bf9275cdb1bf433eeeb193117 SHA512 9a4b22d55ffaac09cec8aff0c906c2d75cc3eeac12d4efa726865e9a7d70d778367cc22e481455fbc507cb1d7157bb76743e3750d4ccbb8a2c0a3e922f07e86f
|
||||
DIST zabbix-7.2.10-go-deps.tar.xz 35736140 BLAKE2B 26dfa7a627b34d078c87b16e28d6650203027c6f3aa780f97bf97ab32208d0f271e061fc512fcc745ee7df34df44794eb5bbab2070e8da9ff92c1785a66fe5cc SHA512 3f2a3a6bdae72997de6524a54c5170fb14b74825f7a10dae630a0d8ba7837e7faa3f7ef0584f6b5c3e41a3acec9a457a5775a9de30a664880b4f8193cada0728
|
||||
DIST zabbix-7.2.10.tar.gz 41830403 BLAKE2B 1fa77a64ed45941a5f9e1d190f19afb99fa65f4c826c09f4c61033be57c2435902636757f66b27485cf967e304bec8ea22e4d60ddc5e1edc35e0b96f9fe8d518 SHA512 47f18b96a4bbca410d01ee877053fb96c02e6f596aff6ad6ff976842cf695b073e050f6028952c85965b8969dc0c3c12dd2afcebb11dcb14ad44972e7a85ba52
|
||||
DIST zabbix-7.2.6-go-deps.tar.xz 34692976 BLAKE2B 21a8087222e58dbfdfd8e0165bc774c0cd9a919bfdf4cb9d4da7a94d4082b14549f770aaf4610621927e5181c9125368ae4ed206b0071cea75e69dceb156a07f SHA512 9c6796da5a5b8d9fac9bd48148bcf4a0044b6940cda8494485a403b484678fd37918a3025aec25f3689dc1defcdc4b510bdfcce3b27bb39fbc252f2d5c4d76af
|
||||
DIST zabbix-7.2.6.tar.gz 41544456 BLAKE2B 46457de9f48765ce135103327a93581425bef9f21f0d7296142efab2a10a2f4803484a9c2e2f27d7ce107b4e900fc51910882ac148aa5e23a161f3b1894ef5ee SHA512 1a686c7a70a70ee6b1c7e949dfcf1fa3ed2484ee71973290e222ba4ce367be8a7d3aec22c858559d599fbe1349b7bc361fb97fea5a49c6d7fd6dfdfd2ff13aab
|
||||
DIST zabbix-7.2.7-go-deps.tar.xz 34371504 BLAKE2B ca586c838943efc60cd9ecb8d0af84f342ae2a52daa3fd5b8d5cfffbdaa565f301c3acb5e6b23895347c6f2e3940708be2d293c378967879413c52764251de1f SHA512 6588f93b4624203bb42cfdb7d94c8432c66e9cef88e7a4fd4fa830fcc03d3220a7e15b0e02771d785de4fe533ab935cd39a44d115eedb10795f799dbcc6a810d
|
||||
DIST zabbix-7.2.7.tar.gz 41577545 BLAKE2B a14a666712b30e11f144d93a4e2075f054396863d10d9abf5dd5ebd11a7890d2073f04bdbee1d91c9b7747f29c422da87ee7291aa75f0121ed60d6274277ab5b SHA512 bc14145ed78596b3c6b8fd40808d6709d2cafaee0b75ca644e631ca1d7cfb2af3ce75d091707831473fb18e32097e7d4d304128579cf731484e91239fd1f0288
|
||||
|
||||
@@ -1,371 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# To create the go modules tarball:
|
||||
# cd src/go
|
||||
# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw
|
||||
# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod
|
||||
|
||||
EAPI=8
|
||||
|
||||
GO_OPTIONAL="yes"
|
||||
# needed to make webapp-config dep optional
|
||||
WEBAPP_OPTIONAL="yes"
|
||||
inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info
|
||||
|
||||
DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers"
|
||||
HOMEPAGE="https://www.zabbix.com/"
|
||||
MY_P=${P/_/}
|
||||
MY_PV=${PV/_/}
|
||||
SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz
|
||||
agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz )
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
WEBAPP_MANUAL_SLOT="yes"
|
||||
KEYWORDS="amd64 arm64 ~x86"
|
||||
IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static"
|
||||
REQUIRED_USE="|| ( agent agent2 frontend proxy server )
|
||||
?? ( gnutls openssl )
|
||||
agent2? ( !gnutls )
|
||||
proxy? ( ^^ ( mysql postgres sqlite ) )
|
||||
server? ( ^^ ( mysql postgres ) !sqlite )
|
||||
static? ( !snmp )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
curl? ( net-misc/curl )
|
||||
gnutls? ( net-libs/gnutls:0= )
|
||||
java? ( >=virtual/jdk-1.8:* )
|
||||
ldap? (
|
||||
=dev-libs/cyrus-sasl-2*
|
||||
net-libs/gnutls:=
|
||||
net-nds/openldap:=
|
||||
)
|
||||
libxml2? ( dev-libs/libxml2:= )
|
||||
mysql? ( dev-db/mysql-connector-c:= )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
openipmi? ( sys-libs/openipmi )
|
||||
openssl? ( dev-libs/openssl:=[-bindist(-)] )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
proxy? (
|
||||
dev-libs/libevent:=
|
||||
sys-libs/zlib
|
||||
)
|
||||
server? (
|
||||
dev-libs/libevent:=
|
||||
sys-libs/zlib
|
||||
)
|
||||
snmp? ( net-analyzer/net-snmp:= )
|
||||
sqlite? ( dev-db/sqlite )
|
||||
ssh? ( net-libs/libssh2 )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
acct-group/zabbix
|
||||
acct-user/zabbix
|
||||
java? ( >=virtual/jre-1.8:* )
|
||||
mysql? ( virtual/mysql )
|
||||
proxy? (
|
||||
dev-libs/libpcre2:=
|
||||
net-analyzer/fping[suid]
|
||||
)
|
||||
selinux? ( sec-policy/selinux-zabbix )
|
||||
server? (
|
||||
app-admin/webapp-config
|
||||
dev-libs/libpcre2:=
|
||||
net-analyzer/fping[suid]
|
||||
)
|
||||
frontend? (
|
||||
app-admin/webapp-config
|
||||
dev-lang/php:*[bcmath,ctype,sockets,gd,truetype,xml,session,xmlreader,xmlwriter,nls,sysvipc,unicode]
|
||||
media-libs/gd[png]
|
||||
virtual/httpd-php:*
|
||||
mysql? ( dev-lang/php[mysqli] )
|
||||
odbc? ( dev-lang/php[odbc] )
|
||||
postgres? ( dev-lang/php[postgres] )
|
||||
sqlite? ( dev-lang/php[sqlite] )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
static? (
|
||||
curl? ( net-misc/curl[static-libs] )
|
||||
ldap? (
|
||||
=dev-libs/cyrus-sasl-2*[static-libs]
|
||||
net-libs/gnutls[static-libs]
|
||||
net-nds/openldap[static-libs]
|
||||
)
|
||||
libxml2? ( dev-libs/libxml2[static-libs] )
|
||||
mysql? ( dev-db/mysql-connector-c[static-libs] )
|
||||
odbc? ( dev-db/unixODBC[static-libs] )
|
||||
postgres? ( dev-db/postgresql:*[static-libs] )
|
||||
sqlite? ( dev-db/sqlite[static-libs] )
|
||||
ssh? ( net-libs/libssh2 )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
agent2? (
|
||||
>=dev-lang/go-1.12
|
||||
app-arch/unzip
|
||||
)
|
||||
"
|
||||
|
||||
# upstream tests fail for agent2
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-4.0.18-modulepathfix.patch"
|
||||
"${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch"
|
||||
"${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch"
|
||||
)
|
||||
|
||||
ZABBIXJAVA_BASE="opt/zabbix_java"
|
||||
|
||||
pkg_setup() {
|
||||
if use frontend; then
|
||||
webapp_pkg_setup
|
||||
fi
|
||||
|
||||
java-pkg-opt-2_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch".
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local econf_args=(
|
||||
--with-libpcre2
|
||||
"$(use_enable agent)"
|
||||
"$(use_enable agent2)"
|
||||
"$(use_enable ipv6)"
|
||||
"$(use_enable java)"
|
||||
"$(use_enable proxy)"
|
||||
"$(use_enable server)"
|
||||
"$(use_enable static)"
|
||||
"$(use_with curl libcurl)"
|
||||
"$(use_with gnutls)"
|
||||
"$(use_with ldap)"
|
||||
"$(use_with libxml2)"
|
||||
"$(use_with mysql)"
|
||||
"$(use_with odbc unixodbc)"
|
||||
"$(use_with openipmi openipmi)"
|
||||
"$(use_with openssl)"
|
||||
"$(use_with postgres postgresql)"
|
||||
"$(use_with snmp net-snmp)"
|
||||
"$(use_with sqlite sqlite3)"
|
||||
"$(use_with ssh ssh2)"
|
||||
)
|
||||
|
||||
econf ${econf_args[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then
|
||||
emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dirs=(
|
||||
/etc/zabbix
|
||||
/var/lib/zabbix
|
||||
/var/lib/zabbix/home
|
||||
/var/lib/zabbix/scripts
|
||||
/var/lib/zabbix/alertscripts
|
||||
/var/lib/zabbix/externalscripts
|
||||
/var/log/zabbix
|
||||
)
|
||||
|
||||
for dir in "${dirs[@]}"; do
|
||||
keepdir "${dir}"
|
||||
done
|
||||
|
||||
if use server; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/conf/zabbix_server.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_server.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_server.conf
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server
|
||||
|
||||
dosbin src/zabbix_server/zabbix_server
|
||||
|
||||
insinto /usr/share/zabbix
|
||||
doins -r "${S}"/database/
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-server.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf
|
||||
fi
|
||||
|
||||
if use proxy; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/conf/zabbix_proxy.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_proxy.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_proxy.conf
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy
|
||||
|
||||
dosbin src/zabbix_proxy/zabbix_proxy
|
||||
|
||||
insinto /usr/share/zabbix
|
||||
doins -r "${S}"/database/
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-proxy.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf
|
||||
fi
|
||||
|
||||
if use agent; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/conf/zabbix_agentd.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_agentd.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_agentd.conf
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd
|
||||
|
||||
dosbin src/zabbix_agent/zabbix_agentd
|
||||
dobin \
|
||||
src/zabbix_sender/zabbix_sender \
|
||||
src/zabbix_get/zabbix_get
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-agentd.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf
|
||||
fi
|
||||
if use agent2; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/src/go/conf/zabbix_agent2.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_agent2.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_agent2.conf
|
||||
keepdir /etc/zabbix/zabbix_agent2.d/plugins.d
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2
|
||||
|
||||
dosbin src/go/bin/zabbix_agent2
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-agent2.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf
|
||||
fi
|
||||
|
||||
fowners root:zabbix /etc/zabbix
|
||||
fowners zabbix:zabbix \
|
||||
/var/lib/zabbix \
|
||||
/var/lib/zabbix/home \
|
||||
/var/lib/zabbix/scripts \
|
||||
/var/lib/zabbix/alertscripts \
|
||||
/var/lib/zabbix/externalscripts \
|
||||
/var/log/zabbix
|
||||
fperms 0750 \
|
||||
/etc/zabbix \
|
||||
/var/lib/zabbix \
|
||||
/var/lib/zabbix/home \
|
||||
/var/lib/zabbix/scripts \
|
||||
/var/lib/zabbix/alertscripts \
|
||||
/var/lib/zabbix/externalscripts \
|
||||
/var/log/zabbix
|
||||
|
||||
dodoc README INSTALL NEWS ChangeLog \
|
||||
conf/zabbix_agentd.conf \
|
||||
conf/zabbix_proxy.conf \
|
||||
conf/zabbix_agentd/userparameter_examples.conf \
|
||||
conf/zabbix_agentd/userparameter_mysql.conf \
|
||||
conf/zabbix_server.conf
|
||||
|
||||
if use frontend; then
|
||||
webapp_src_preinst
|
||||
cp -R ui/* "${D}/${MY_HTDOCSDIR}"
|
||||
webapp_configfile \
|
||||
"${MY_HTDOCSDIR}"/include/db.inc.php \
|
||||
"${MY_HTDOCSDIR}"/include/config.inc.php
|
||||
webapp_src_install
|
||||
fi
|
||||
|
||||
if use java; then
|
||||
dodir \
|
||||
/${ZABBIXJAVA_BASE} \
|
||||
/${ZABBIXJAVA_BASE}/bin \
|
||||
/${ZABBIXJAVA_BASE}/lib
|
||||
keepdir /${ZABBIXJAVA_BASE}
|
||||
exeinto /${ZABBIXJAVA_BASE}/bin
|
||||
doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar
|
||||
exeinto /${ZABBIXJAVA_BASE}/lib
|
||||
doexe \
|
||||
src/zabbix_java/lib/logback-classic-1.5.16.jar \
|
||||
src/zabbix_java/lib/logback-console.xml \
|
||||
src/zabbix_java/lib/logback-core-1.5.16.jar \
|
||||
src/zabbix_java/lib/logback.xml \
|
||||
src/zabbix_java/lib/android-json-4.3_r3.1.jar \
|
||||
src/zabbix_java/lib/slf4j-api-2.0.16.jar
|
||||
newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy
|
||||
newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use server || use proxy ; then
|
||||
elog
|
||||
elog "You may need to configure your database for Zabbix"
|
||||
elog "if you have not already done so."
|
||||
elog
|
||||
|
||||
zabbix_homedir=$(egethome zabbix)
|
||||
if [ -n "${zabbix_homedir}" ] && \
|
||||
[ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then
|
||||
ewarn
|
||||
ewarn "The user 'zabbix' should have his homedir changed"
|
||||
ewarn "to /var/lib/zabbix/home if you want to use"
|
||||
ewarn "custom alert scripts."
|
||||
ewarn
|
||||
ewarn "A real homedir might be needed for configfiles"
|
||||
ewarn "for custom alert scripts."
|
||||
ewarn
|
||||
ewarn "To change the homedir use:"
|
||||
ewarn " usermod -d /var/lib/zabbix/home zabbix"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
|
||||
if use server; then
|
||||
tmpfiles_process zabbix-server.conf
|
||||
|
||||
elog
|
||||
elog "For distributed monitoring you have to run:"
|
||||
elog
|
||||
elog "zabbix_server -n <nodeid>"
|
||||
elog
|
||||
elog "This will convert database data for use with Node ID"
|
||||
elog "and also adds a local node."
|
||||
elog
|
||||
fi
|
||||
|
||||
if use proxy; then
|
||||
tmpfiles_process zabbix-proxy.conf
|
||||
fi
|
||||
|
||||
if use agent; then
|
||||
tmpfiles_process zabbix-agentd.conf
|
||||
fi
|
||||
|
||||
if use agent2; then
|
||||
tmpfiles_process zabbix-agent2.conf
|
||||
fi
|
||||
|
||||
elog "--"
|
||||
elog
|
||||
elog "You may need to add these lines to /etc/services:"
|
||||
elog
|
||||
elog "zabbix-agent 10050/tcp Zabbix Agent"
|
||||
elog "zabbix-agent 10050/udp Zabbix Agent"
|
||||
elog "zabbix-trapper 10051/tcp Zabbix Trapper"
|
||||
elog "zabbix-trapper 10051/udp Zabbix Trapper"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
(use frontend || use server) && webapp_pkg_prerm
|
||||
}
|
||||
@@ -1,371 +0,0 @@
|
||||
# Copyright 1999-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# To create the go modules tarball:
|
||||
# cd src/go
|
||||
# GOMODCACHE="${PWD}"/go-mod go mod download -modcacherw
|
||||
# tar -acf $(pwd | grep -Eo 'zabbix-[0-9.]+')-go-deps.tar.xz go-mod
|
||||
|
||||
EAPI=8
|
||||
|
||||
GO_OPTIONAL="yes"
|
||||
# needed to make webapp-config dep optional
|
||||
WEBAPP_OPTIONAL="yes"
|
||||
inherit autotools webapp java-pkg-opt-2 systemd tmpfiles toolchain-funcs go-module user-info
|
||||
|
||||
DESCRIPTION="ZABBIX is software for monitoring of your applications, network and servers"
|
||||
HOMEPAGE="https://www.zabbix.com/"
|
||||
MY_P=${P/_/}
|
||||
MY_PV=${PV/_/}
|
||||
SRC_URI="https://cdn.zabbix.com/${PN}/sources/stable/$(ver_cut 1-2)/${P}.tar.gz
|
||||
agent2? ( https://dev.gentoo.org/~fordfrog/distfiles/${P}-go-deps.tar.xz )
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
WEBAPP_MANUAL_SLOT="yes"
|
||||
KEYWORDS="amd64 arm64 ~x86"
|
||||
IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl +postgres proxy selinux server snmp sqlite ssh static"
|
||||
REQUIRED_USE="|| ( agent agent2 frontend proxy server )
|
||||
?? ( gnutls openssl )
|
||||
agent2? ( !gnutls )
|
||||
proxy? ( ^^ ( mysql postgres sqlite ) )
|
||||
server? ( ^^ ( mysql postgres ) !sqlite )
|
||||
static? ( !snmp )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
curl? ( net-misc/curl )
|
||||
gnutls? ( net-libs/gnutls:0= )
|
||||
java? ( >=virtual/jdk-1.8:* )
|
||||
ldap? (
|
||||
=dev-libs/cyrus-sasl-2*
|
||||
net-libs/gnutls:=
|
||||
net-nds/openldap:=
|
||||
)
|
||||
libxml2? ( dev-libs/libxml2:= )
|
||||
mysql? ( dev-db/mysql-connector-c:= )
|
||||
odbc? ( dev-db/unixODBC )
|
||||
openipmi? ( sys-libs/openipmi )
|
||||
openssl? ( dev-libs/openssl:=[-bindist(-)] )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
proxy? (
|
||||
dev-libs/libevent:=
|
||||
sys-libs/zlib
|
||||
)
|
||||
server? (
|
||||
dev-libs/libevent:=
|
||||
sys-libs/zlib
|
||||
)
|
||||
snmp? ( net-analyzer/net-snmp:= )
|
||||
sqlite? ( dev-db/sqlite )
|
||||
ssh? ( net-libs/libssh2 )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
acct-group/zabbix
|
||||
acct-user/zabbix
|
||||
java? ( >=virtual/jre-1.8:* )
|
||||
mysql? ( virtual/mysql )
|
||||
proxy? (
|
||||
dev-libs/libpcre2:=
|
||||
net-analyzer/fping[suid]
|
||||
)
|
||||
selinux? ( sec-policy/selinux-zabbix )
|
||||
server? (
|
||||
app-admin/webapp-config
|
||||
dev-libs/libpcre2:=
|
||||
net-analyzer/fping[suid]
|
||||
)
|
||||
frontend? (
|
||||
app-admin/webapp-config
|
||||
dev-lang/php:*[bcmath,ctype,sockets,gd,truetype,xml,session,xmlreader,xmlwriter,nls,sysvipc,unicode]
|
||||
media-libs/gd[png]
|
||||
virtual/httpd-php:*
|
||||
mysql? ( dev-lang/php[mysqli] )
|
||||
odbc? ( dev-lang/php[odbc] )
|
||||
postgres? ( dev-lang/php[postgres] )
|
||||
sqlite? ( dev-lang/php[sqlite] )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
static? (
|
||||
curl? ( net-misc/curl[static-libs] )
|
||||
ldap? (
|
||||
=dev-libs/cyrus-sasl-2*[static-libs]
|
||||
net-libs/gnutls[static-libs]
|
||||
net-nds/openldap[static-libs]
|
||||
)
|
||||
libxml2? ( dev-libs/libxml2[static-libs] )
|
||||
mysql? ( dev-db/mysql-connector-c[static-libs] )
|
||||
odbc? ( dev-db/unixODBC[static-libs] )
|
||||
postgres? ( dev-db/postgresql:*[static-libs] )
|
||||
sqlite? ( dev-db/sqlite[static-libs] )
|
||||
ssh? ( net-libs/libssh2 )
|
||||
)
|
||||
"
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
agent2? (
|
||||
>=dev-lang/go-1.12
|
||||
app-arch/unzip
|
||||
)
|
||||
"
|
||||
|
||||
# upstream tests fail for agent2
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-4.0.18-modulepathfix.patch"
|
||||
"${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch"
|
||||
"${FILESDIR}/${PN}-6.4.0-configure-sscanf.patch"
|
||||
)
|
||||
|
||||
ZABBIXJAVA_BASE="opt/zabbix_java"
|
||||
|
||||
pkg_setup() {
|
||||
if use frontend; then
|
||||
webapp_pkg_setup
|
||||
fi
|
||||
|
||||
java-pkg-opt-2_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Since we patch configure.ac with e.g., ${PN}-6.4.0-configure-sscanf.patch".
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local econf_args=(
|
||||
--with-libpcre2
|
||||
"$(use_enable agent)"
|
||||
"$(use_enable agent2)"
|
||||
"$(use_enable ipv6)"
|
||||
"$(use_enable java)"
|
||||
"$(use_enable proxy)"
|
||||
"$(use_enable server)"
|
||||
"$(use_enable static)"
|
||||
"$(use_with curl libcurl)"
|
||||
"$(use_with gnutls)"
|
||||
"$(use_with ldap)"
|
||||
"$(use_with libxml2)"
|
||||
"$(use_with mysql)"
|
||||
"$(use_with odbc unixodbc)"
|
||||
"$(use_with openipmi openipmi)"
|
||||
"$(use_with openssl)"
|
||||
"$(use_with postgres postgresql)"
|
||||
"$(use_with snmp net-snmp)"
|
||||
"$(use_with sqlite sqlite3)"
|
||||
"$(use_with ssh ssh2)"
|
||||
)
|
||||
|
||||
econf ${econf_args[@]}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then
|
||||
emake AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dirs=(
|
||||
/etc/zabbix
|
||||
/var/lib/zabbix
|
||||
/var/lib/zabbix/home
|
||||
/var/lib/zabbix/scripts
|
||||
/var/lib/zabbix/alertscripts
|
||||
/var/lib/zabbix/externalscripts
|
||||
/var/log/zabbix
|
||||
)
|
||||
|
||||
for dir in "${dirs[@]}"; do
|
||||
keepdir "${dir}"
|
||||
done
|
||||
|
||||
if use server; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/conf/zabbix_server.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_server.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_server.conf
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-server-r1.init zabbix-server
|
||||
|
||||
dosbin src/zabbix_server/zabbix_server
|
||||
|
||||
insinto /usr/share/zabbix
|
||||
doins -r "${S}"/database/
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-server.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-server.tmpfiles zabbix-server.conf
|
||||
fi
|
||||
|
||||
if use proxy; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/conf/zabbix_proxy.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_proxy.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_proxy.conf
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-proxy.init zabbix-proxy
|
||||
|
||||
dosbin src/zabbix_proxy/zabbix_proxy
|
||||
|
||||
insinto /usr/share/zabbix
|
||||
doins -r "${S}"/database/
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-proxy.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-proxy.tmpfiles zabbix-proxy.conf
|
||||
fi
|
||||
|
||||
if use agent; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/conf/zabbix_agentd.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_agentd.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_agentd.conf
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-agentd.init zabbix-agentd
|
||||
|
||||
dosbin src/zabbix_agent/zabbix_agentd
|
||||
dobin \
|
||||
src/zabbix_sender/zabbix_sender \
|
||||
src/zabbix_get/zabbix_get
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-agentd.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.conf
|
||||
fi
|
||||
if use agent2; then
|
||||
insinto /etc/zabbix
|
||||
doins "${S}"/src/go/conf/zabbix_agent2.conf
|
||||
fperms 0640 /etc/zabbix/zabbix_agent2.conf
|
||||
fowners root:zabbix /etc/zabbix/zabbix_agent2.conf
|
||||
keepdir /etc/zabbix/zabbix_agent2.d/plugins.d
|
||||
|
||||
newinitd "${FILESDIR}"/zabbix-agent2.init zabbix-agent2
|
||||
|
||||
dosbin src/go/bin/zabbix_agent2
|
||||
|
||||
systemd_dounit "${FILESDIR}"/zabbix-agent2.service
|
||||
newtmpfiles "${FILESDIR}"/zabbix-agent2.tmpfiles zabbix-agent2.conf
|
||||
fi
|
||||
|
||||
fowners root:zabbix /etc/zabbix
|
||||
fowners zabbix:zabbix \
|
||||
/var/lib/zabbix \
|
||||
/var/lib/zabbix/home \
|
||||
/var/lib/zabbix/scripts \
|
||||
/var/lib/zabbix/alertscripts \
|
||||
/var/lib/zabbix/externalscripts \
|
||||
/var/log/zabbix
|
||||
fperms 0750 \
|
||||
/etc/zabbix \
|
||||
/var/lib/zabbix \
|
||||
/var/lib/zabbix/home \
|
||||
/var/lib/zabbix/scripts \
|
||||
/var/lib/zabbix/alertscripts \
|
||||
/var/lib/zabbix/externalscripts \
|
||||
/var/log/zabbix
|
||||
|
||||
dodoc README INSTALL NEWS ChangeLog \
|
||||
conf/zabbix_agentd.conf \
|
||||
conf/zabbix_proxy.conf \
|
||||
conf/zabbix_agentd/userparameter_examples.conf \
|
||||
conf/zabbix_agentd/userparameter_mysql.conf \
|
||||
conf/zabbix_server.conf
|
||||
|
||||
if use frontend; then
|
||||
webapp_src_preinst
|
||||
cp -R ui/* "${D}/${MY_HTDOCSDIR}"
|
||||
webapp_configfile \
|
||||
"${MY_HTDOCSDIR}"/include/db.inc.php \
|
||||
"${MY_HTDOCSDIR}"/include/config.inc.php
|
||||
webapp_src_install
|
||||
fi
|
||||
|
||||
if use java; then
|
||||
dodir \
|
||||
/${ZABBIXJAVA_BASE} \
|
||||
/${ZABBIXJAVA_BASE}/bin \
|
||||
/${ZABBIXJAVA_BASE}/lib
|
||||
keepdir /${ZABBIXJAVA_BASE}
|
||||
exeinto /${ZABBIXJAVA_BASE}/bin
|
||||
doexe src/zabbix_java/bin/zabbix-java-gateway-"${MY_PV}".jar
|
||||
exeinto /${ZABBIXJAVA_BASE}/lib
|
||||
doexe \
|
||||
src/zabbix_java/lib/logback-classic-1.5.16.jar \
|
||||
src/zabbix_java/lib/logback-console.xml \
|
||||
src/zabbix_java/lib/logback-core-1.5.16.jar \
|
||||
src/zabbix_java/lib/logback.xml \
|
||||
src/zabbix_java/lib/android-json-4.3_r3.1.jar \
|
||||
src/zabbix_java/lib/slf4j-api-2.0.16.jar
|
||||
newinitd "${FILESDIR}"/zabbix-jmx-proxy.init zabbix-jmx-proxy
|
||||
newconfd "${FILESDIR}"/zabbix-jmx-proxy.conf zabbix-jmx-proxy
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use server || use proxy ; then
|
||||
elog
|
||||
elog "You may need to configure your database for Zabbix"
|
||||
elog "if you have not already done so."
|
||||
elog
|
||||
|
||||
zabbix_homedir=$(egethome zabbix)
|
||||
if [ -n "${zabbix_homedir}" ] && \
|
||||
[ "${zabbix_homedir}" != "/var/lib/zabbix/home" ]; then
|
||||
ewarn
|
||||
ewarn "The user 'zabbix' should have his homedir changed"
|
||||
ewarn "to /var/lib/zabbix/home if you want to use"
|
||||
ewarn "custom alert scripts."
|
||||
ewarn
|
||||
ewarn "A real homedir might be needed for configfiles"
|
||||
ewarn "for custom alert scripts."
|
||||
ewarn
|
||||
ewarn "To change the homedir use:"
|
||||
ewarn " usermod -d /var/lib/zabbix/home zabbix"
|
||||
ewarn
|
||||
fi
|
||||
fi
|
||||
|
||||
if use server; then
|
||||
tmpfiles_process zabbix-server.conf
|
||||
|
||||
elog
|
||||
elog "For distributed monitoring you have to run:"
|
||||
elog
|
||||
elog "zabbix_server -n <nodeid>"
|
||||
elog
|
||||
elog "This will convert database data for use with Node ID"
|
||||
elog "and also adds a local node."
|
||||
elog
|
||||
fi
|
||||
|
||||
if use proxy; then
|
||||
tmpfiles_process zabbix-proxy.conf
|
||||
fi
|
||||
|
||||
if use agent; then
|
||||
tmpfiles_process zabbix-agentd.conf
|
||||
fi
|
||||
|
||||
if use agent2; then
|
||||
tmpfiles_process zabbix-agent2.conf
|
||||
fi
|
||||
|
||||
elog "--"
|
||||
elog
|
||||
elog "You may need to add these lines to /etc/services:"
|
||||
elog
|
||||
elog "zabbix-agent 10050/tcp Zabbix Agent"
|
||||
elog "zabbix-agent 10050/udp Zabbix Agent"
|
||||
elog "zabbix-trapper 10051/tcp Zabbix Trapper"
|
||||
elog "zabbix-trapper 10051/udp Zabbix Trapper"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
(use frontend || use server) && webapp_pkg_prerm
|
||||
}
|
||||
Reference in New Issue
Block a user