net-analyzer/zabbix: v5.0.1

This commit is contained in:
Jörg Deckert 2020-06-02 20:09:27 +02:00
parent 9750b15220
commit 503389dc46
2 changed files with 352 additions and 0 deletions

View File

@ -12,4 +12,6 @@ AUX zabbix-server.init 494 BLAKE2B e58063bfdb0bcb6ea70325d31bff4ffebab2686b70639
AUX zabbix-server.service 429 BLAKE2B 1727ad52441b8e1ef31ee0f7faaa9d9964ee4ca5e2ef61de4715c25b0e0c97a627e6735a67c4114484950f0334fffa344d94f9192ada63887a21b617122eaf0d SHA512 d20fa4aa3a545d2f36388d7cac78c70c5610f5e7529348447e6fa6bacc33f42dd6e1c37c50b1c2711900a3f29bbbbb0ebc7c54f04d3de717aadad48e18c46e28
AUX zabbix-server.tmpfiles 35 BLAKE2B 98e917ef03bd6dc5d73e5cbdb140c7e115c7593d5cebf2df9bf3d15713b16c6a44b165a3f68fd36a9119163144a2761457d16ce318bd094ed76ae6040c8b09df SHA512 3c63a2791e6ac77cb3144eb47a275cc8748f5c8943a076052300d6964994b95b18d60f504584fdcb683739dc514261402895e3f30ae2fbdb218acbc42c3d72df
DIST zabbix-5.0.0.tar.gz 18519888 BLAKE2B 028fc41d4ce250c558130a631aaf385b0a944885a820f63aa3052738f767092ce71dfd65e52750dd61276b6171caa739eee5a5dea0002828a12035cc51a6f2d7 SHA512 056aee99d19def2f673813e29bb7869fa7906abe6956fddbeac359195167abe06add21ef08baf68a5ad6e256323a797e604cdd7828f34be2762daf7b31923984
DIST zabbix-5.0.1.tar.gz 18623104 BLAKE2B 3f2afcbf22f306e007ee1550de2bbd4c31b481b892bf490b21de22de96f66a568e0eaefe187400d1850f66bd10e622bd90e821974e61c3d750d86b8a6f2e5601 SHA512 66d16d6c8e0bac235b23bab9d6f5f5c29d96b508fd4834c16f82b7ca33591e36e44cd982e918c1c4736331d3f8c93535616c64be5596724842b1af5621508490
EBUILD zabbix-5.0.0.ebuild 9151 BLAKE2B ac3106772df6b2dff15dbeeac3ff9e21bf6bbefafe8776374e086672f68f87b67fc1f78c6cf0712714792fa9df0650d5cfbc21b9defc1c99ae6ed24e1cbeeae4 SHA512 2511d9f06ef42767a40c0106dc9a110a0b991cd220acf018f105e99cd07ad30a75c9b56c4426ffbf5030c091c36a3782100f8afea8853a80d41f35ab36845530
EBUILD zabbix-5.0.1.ebuild 9151 BLAKE2B ac3106772df6b2dff15dbeeac3ff9e21bf6bbefafe8776374e086672f68f87b67fc1f78c6cf0712714792fa9df0650d5cfbc21b9defc1c99ae6ed24e1cbeeae4 SHA512 2511d9f06ef42767a40c0106dc9a110a0b991cd220acf018f105e99cd07ad30a75c9b56c4426ffbf5030c091c36a3782100f8afea8853a80d41f35ab36845530

View File

@ -0,0 +1,350 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
# needed to make webapp-config dep optional
WEBAPP_OPTIONAL="yes"
inherit flag-o-matic webapp java-pkg-opt-2 user systemd toolchain-funcs
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"
LICENSE="GPL-2"
SLOT="0"
WEBAPP_MANUAL_SLOT="yes"
KEYWORDS="~amd64 ~x86"
IUSE="+agent java curl frontend ipv6 ldap libxml2 mysql openipmi oracle +postgres proxy server ssh ssl snmp sqlite odbc static"
REQUIRED_USE="|| ( agent frontend proxy server )
proxy? ( ^^ ( mysql oracle postgres sqlite odbc ) )
server? ( ^^ ( mysql oracle postgres odbc ) )
static? ( !oracle !snmp )"
COMMON_DEPEND="
curl? ( net-misc/curl )
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 )
oracle? ( dev-db/oracle-instantclient-basic )
postgres? ( dev-db/postgresql:* )
proxy? ( sys-libs/zlib )
server? (
dev-libs/libevent
sys-libs/zlib
)
snmp? ( net-analyzer/net-snmp )
sqlite? ( dev-db/sqlite )
ssh? ( net-libs/libssh2 )
ssl? ( dev-libs/openssl:=[-bindist] )
"
RDEPEND="${COMMON_DEPEND}
java? ( >=virtual/jre-1.8:* )
mysql? ( virtual/mysql )
proxy? ( net-analyzer/fping[suid] )
server? (
app-admin/webapp-config
dev-libs/libevent
dev-libs/libpcre
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] )
oracle? ( dev-lang/php[oci8-instant-client] )
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
"
PATCHES=(
"${FILESDIR}/${PN}-4.0.18-modulepathfix.patch"
"${FILESDIR}/${PN}-3.0.30-security-disable-PidFile.patch"
)
S=${WORKDIR}/${MY_P}
ZABBIXJAVA_BASE="opt/zabbix_java"
pkg_setup() {
if use oracle; then
if [ -z "${ORACLE_HOME}" ]; then
eerror
eerror "The environment variable ORACLE_HOME must be set"
eerror "and point to the correct location."
eerror "It looks like you don't have Oracle installed."
eerror
die "Environment variable ORACLE_HOME is not set"
fi
if has_version 'dev-db/oracle-instantclient-basic'; then
ewarn
ewarn "Please ensure you have a full install of the Oracle client."
ewarn "dev-db/oracle-instantclient* is NOT sufficient."
ewarn
fi
fi
if use frontend; then
webapp_pkg_setup
fi
enewgroup zabbix
enewuser zabbix -1 -1 /var/lib/zabbix/home zabbix
java-pkg-opt-2_pkg_setup
}
src_prepare() {
default
}
src_configure() {
econf \
$(use_enable agent) \
$(use_enable ipv6) \
$(use_enable java) \
$(use_enable proxy) \
$(use_enable server) \
$(use_enable static) \
$(use_with curl libcurl) \
$(use_with ldap) \
$(use_with libxml2) \
$(use_with mysql) \
$(use_with odbc unixodbc) \
$(use_with openipmi openipmi) \
$(use_with oracle) \
$(use_with postgres postgresql) \
$(use_with snmp net-snmp) \
$(use_with sqlite sqlite3) \
$(use_with ssh ssh2) \
$(use_with ssl openssl)
}
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
dodir "${dir}"
keepdir "${dir}"
done
insinto /usr/include/zabbix
doins include/*.h
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.init zabbix-server
dosbin src/zabbix_server/zabbix_server
insinto /usr/share/zabbix
doins -r "${S}"/database/
systemd_dounit "${FILESDIR}"/zabbix-server.service
systemd_newtmpfilesd "${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
systemd_newtmpfilesd "${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
systemd_newtmpfilesd "${FILESDIR}"/zabbix-agentd.tmpfiles zabbix-agentd.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-0.9.27.jar \
src/zabbix_java/lib/logback-console.xml \
src/zabbix_java/lib/logback-core-0.9.27.jar \
src/zabbix_java/lib/logback.xml \
src/zabbix_java/lib/android-json-4.3_r3.1.jar \
src/zabbix_java/lib/slf4j-api-1.6.1.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
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
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
if use server || use proxy ; then
# check for fping
fping_perms=$(stat -c %a /usr/sbin/fping 2>/dev/null)
case "${fping_perms}" in
4[157][157][157])
;;
*)
ewarn
ewarn "If you want to use the checks 'icmpping' and 'icmppingsec',"
ewarn "you have to make /usr/sbin/fping setuid root and executable"
ewarn "by everyone. Run the following command to fix it:"
ewarn
ewarn " chmod u=rwsx,g=rx,o=rx /usr/sbin/fping"
ewarn
ewarn "Please be aware that this might impose a security risk,"
ewarn "depending on the code quality of fping."
ewarn
;;
esac
fi
}