Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-06-08 06:23:59 +00:00
15 changed files with 5 additions and 1362 deletions

View File

@@ -1,3 +1,3 @@
DIST citus-12.1.7.tar.gz 6923683 BLAKE2B 114dbb30d0e353f3d368db13ab265082f952774fa013a7c7d7848e4c3686a6d3c4b47d259ddf3660e58d3e59c2b0802c51edac3df28c44717e2ba30ae063cd7c SHA512 3c24bfde6e1786c324a5fbd64ede70b557966e15a0852c1497af21a5e12cd10e46798ff0e3042fb23fccb3ccbc5f6ccdfbcdbf96ac6a50ec511d9df6740977e1
DIST citus-13.0.2.tar.gz 6922184 BLAKE2B da7107ebb74729010d9775752747a3f513eb3a1d9d519bf44c504cf253b318b8adc5fc2c6410fa7f25a221ae112317ce269f52468f589441b5eee0f5754b6808 SHA512 54f9955b8cc03d32b4f0f5a446883ad3d19f998dce326f4af037526171b9abf1927ae51de1b8aa06068ce60640b947088446f8899ed8dcfd86d9498900898c55
DIST citus-13.0.3.tar.gz 6922310 BLAKE2B d143563822056cb929cf24b5a1c558e4ffeaddf59f4b4a5c5840b32c7952b81092cb08fc9839555087ff87af2f515ca7a04f8dfab13835ced01900b45f60512d SHA512 4e5fbb4419fff0e409fea000c28e4fd4db34f2afb482bd47343c546dcb9ccf085e744e36e16dc843234dfef09b021a2004aaea8cbdb1a747d55f44f729ee894b
DIST citus-12.1.8.tar.gz 6928398 BLAKE2B 33062d325048c7204d66d82832c8cbc5806efd28a12aebc7ead93d68196c60f4ae80470ef780570d67d2ab2638425a172073a5d8396dca485e266a2dca5a2139 SHA512 6e2756a2d391c6d32ae8ca689a4a1a8b8c6aa0c04b46c635d0b935a7b5e25de930e088bf7b27426392ffd0673cb203a69f6c180d3aaa6454743818f3b258b56e
DIST citus-13.0.4.tar.gz 6926692 BLAKE2B 36aff42403f81f0e355b70774e8e89dd89a451ca821ecbdca2ac678c24e9914124dc09692cd9019e299f2b1f99d212eae629aa7b5ac439636cc021231df5e82a SHA512 b521f38aecd3bd06d07339eaa785a663d5966c6b2010905350bfcdec8a66108ce386be915d284d1e86f34b548adcf5d1463e2acd64bbddb33565a6c9cf71ded9
DIST citus-13.1.0.tar.gz 7696016 BLAKE2B 382d4db9bccb2f1cce8696e652bc694ea1625adce3aaf628189fc80d95270e4159fd4e336614797e1947a5685d5bde008c8897115001d4236fb5609bbb6464a1 SHA512 2bdde6ee0d4307bb05a0f8c9a9be685ffff3ef362dd536b28c2dc3f2ea477b69620ae440d5a15f670a242842734ce17ee98bfe26174447add2111ce291f8de7c

View File

@@ -1,3 +1,2 @@
DIST timescaledb-2.18.2.tar.gz 7908965 BLAKE2B e48bec6e92a8bde36dccb0ffc9017fd67eed202cbbb4107ca949f4e8dacee900118e43fe5c28251cb5f65bd486a090aaeecf04e95da4afcf1ef7f94e3869ae3b SHA512 eb5c2d5ab1568ca9c213c775fd665c66ae0f78d4ce18d4bddcba3de20f1a9fce8bd9bc782efd8c9c537575dfae0e8f701f34368d1a3370789f43a7d82b988f7c
DIST timescaledb-2.19.0.tar.gz 7998910 BLAKE2B ab6af1a845330c6881e556f6b1c5ee91fb3b16b91a10a1ad8e51ac0d602429dcc91a24938d937d6c6270445f902b71628e3d585ccc61cfd2257b10718b87bed9 SHA512 d8196b9d5a0c3ea4fac6ae3fbe7ccd3673c8c261d1de4e480859aebd9df545303847526e8e64b83f144b71c081958a7a2bf597de7d0ddad59461e9424e3cb0b7
DIST timescaledb-2.19.3.tar.gz 8010948 BLAKE2B f1bf6b376c281b35f154f47d00c1e7777cf7cfe9bece09097ac28d0d14b90f23c589f2cd8e5377fda1a65ef066530c8d958d0456d320304da26d013c318e12bd SHA512 44310ddced2899b6a60989fc5e96aa4c999898e5ec59a29ea1bc4c82e6ae9339fa11fd6e20805a2d09a351c1c6fe1429593367f73a91229043c02ba6648468e7
DIST timescaledb-2.20.2.tar.gz 7790395 BLAKE2B 0268a7bed3bf4bad96d15c8f19aa726c4862565eac97d9cc1c2021ce981375d4b86257e192aaa5db53482787df944d2f015b5e7b3fdd081c79f1f3ffa706af2b SHA512 e466832872fc59c5580d2c5d12d9d1860b64cb92cd43068121912c03643c8914a536aea0c8ca5445eac32ae2d77adca925206ddcb3743a48464c2c63a21f656e

View File

@@ -1,65 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
POSTGRES_COMPAT=( 14 15 16 17 )
POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake
DESCRIPTION="Open-source time-series SQL database"
HOMEPAGE="https://www.timescale.com/"
SRC_URI="https://github.com/timescale/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="POSTGRESQL Apache-2.0 proprietary-extensions? ( timescale )"
SLOT=0
KEYWORDS="~amd64"
IUSE="proprietary-extensions"
RESTRICT="test"
DEPEND="${POSTGRES_DEP}"
RDEPEND="${DEPEND}"
CMAKE_IN_SOURCE_BUILD=yes
CMAKE_BUILD_TYPE="RelWithDebInfo"
BUILD_DIR=${WORKDIR}/${P}
src_prepare() {
postgres-multi_src_prepare
postgres-multi_foreach cmake_src_prepare
}
timescale_configure() {
local CMAKE_USE_DIR=$BUILD_DIR
local mycmakeargs=( "-DPG_CONFIG=/usr/bin/pg_config${MULTIBUILD_VARIANT}" "-DREGRESS_CHECKS=OFF" )
# licensing is tied to features, this useflag disables the non-apache2 licensed bits
if ! use proprietary-extensions ; then
mycmakeargs+=("-DAPACHE_ONLY=ON")
fi
cmake_src_configure
}
src_configure() {
postgres-multi_foreach timescale_configure
}
timescale_src_compile() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_compile
}
src_compile() {
postgres-multi_foreach timescale_src_compile
}
timescale_src_install() {
local CMAKE_USE_DIR=$BUILD_DIR
cmake_src_install
}
src_install() {
postgres-multi_foreach timescale_src_install
}

View File

@@ -3,7 +3,7 @@
EAPI=8
POSTGRES_COMPAT=( 14 15 16 17 )
POSTGRES_COMPAT=( 15 16 17 )
POSTGRES_USEDEP="ssl"
inherit postgres-multi cmake

View File

@@ -1,3 +1,2 @@
DIST calf-0.90.4.tar.gz 16119716 BLAKE2B 555a813c6e8d58ea67db349957d2673e614448e17a3e5e934106fa445d7a6c19bc739b2487a883c5e709ac8dd5f429363e3bea09d72c1ca23a5755ca3b765479 SHA512 666d699d989a588bfe9d1e92f6b221a30541c26874d5941f54c2b2f216d2a59d628f1579d1e789e4a40d07d06f43a31055ce67885abb25c032643aa5f75797cd
DIST calf-0.90.6.tar.gz 16119636 BLAKE2B b3eeb198d3df09880de2f053f838f8300c53a19440cbaff5d6fb75d7fbb37e47a6853b31d683f5caf181863cc4698c1d3fda24d277aab1e7867c2162f1279aab SHA512 60f794ba8333b7be92bede3051a416f67e1cca6334e182bf51664456286811eb84a63a5f13522af55540e46d5d01a2e7c85841284aeb3fbdf4875874cf44d182
DIST calf-0.90.7.tar.gz 16119531 BLAKE2B a9262be48c955901617aac1d1abafbe523eab5cdea6671aa87d6372eba70fedfe2e636e5f66b83cc1d9107de56ec34ed4feb1e4fbf1e1e880e005ed473b84c1d SHA512 a407566717ee31fd26e17ff1e6cd412ecf7a0abef58314c632ef08cc1d80f26e9243b363de82958eb3cc5754dc79af3a682782be0c2654f821bbbcaef9c58f3d

View File

@@ -1,82 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools flag-o-matic toolchain-funcs xdg
DESCRIPTION="A set of open source instruments and effects for digital audio workstations"
HOMEPAGE="https://calf-studio-gear.org/"
if [[ "${PV}" = "9999" ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/calf-studio-gear/calf.git"
else
SRC_URI="https://github.com/calf-studio-gear/calf/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86"
fi
LICENSE="LGPL-2.1"
SLOT="0"
IUSE="cpu_flags_x86_sse experimental gtk jack lash lv2 static-libs"
REQUIRED_USE="jack? ( gtk )"
BDEPEND="
virtual/pkgconfig
"
DEPEND="
>=app-accessibility/at-spi2-core-2.46.0
dev-libs/expat
dev-libs/glib:2
media-sound/fluidsynth:=
gtk? (
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:2
x11-libs/pango
)
jack? ( virtual/jack )
lash? ( media-sound/lash )
lv2? ( media-libs/lv2 )
"
RDEPEND="${DEPEND}"
PATCHES=(
"${FILESDIR}/${PN}-0.90.4-no-automagic.patch"
"${FILESDIR}/${PN}-0.90.4-htmldir.patch"
"${FILESDIR}/${PN}-0.90.4-desktop.patch"
)
src_prepare() {
default
eautoreconf
}
src_configure() {
# Upstream append -ffast-math by default, however since libtool links C++
# shared libs with -nostdlib, this causes symbol resolution error for
# __powidn2 when using compiler-rt. Disable fast math on compiler-rt until
# a better fix is found.
[[ $(tc-get-c-rtlib) = "compiler-rt" ]] && append-cxxflags "-fno-fast-math"
local myeconfargs=(
--prefix="${EPREFIX}"/usr
--without-obsolete-check
$(use_enable experimental)
$(use_enable gtk gui)
$(use_enable jack)
$(use_with lash)
$(use_with lv2 lv2)
$(usex lv2 "--with-lv2-dir=${EPREFIX}/usr/$(get_libdir)/lv2" "")
$(use_enable static-libs static)
$(use_enable cpu_flags_x86_sse sse)
)
econf "${myeconfargs[@]}"
}
src_install() {
default
mv "${ED}"/usr/share/bash-completion/completions/calf \
"${ED}"/usr/share/bash-completion/completions/calfjackhost
}

View File

@@ -1,3 +1,2 @@
DIST chuck-1.5.4.4.tgz 22334080 BLAKE2B 84d3a9e11205c95695fc2b1e9af9fccb31d9a7f2dd6f4184c8bd3b9425cbdb05dac36d477cb6aeb6e757299dc972e2daff5b18d7f5fd748d3c31e04974dd70b9 SHA512 725bea6ee81443e0d65eac80746d2600bf5ab0db2495e8eb376851f46da413ad954106fb9da15b440250da335f0ae63f624945e338a9b2136c110ea876464a05
DIST chuck-1.5.5.0.tgz 22341830 BLAKE2B 0f0a374b67eef1a44b2371a03e27185d53483d2ca0ef98b1eba0c353b013a8127fc2ef568fcb4eb1de15712d6768f9c77e318bd8ef5c7636093a3b172aeabf21 SHA512 1c5b0f9bfd7168d4905abd1c256d6a95b8dfbdce009f65e48f571349b22e76ef01e60bf6a5c3dcbd0287a80089fde072cd05cd626f21db6a2a3a458be516c945
DIST chuck-1.5.5.1.tgz 22361428 BLAKE2B dae842e2990ed4fc260b69c309ba6fe8adb8d9dcf2c7c76c5335c6d6239496b9a70e66a8e262a32a6b6879bff04185e1de1de440ab6c4705fb88ed2c99a0940a SHA512 e7d2268f87b551e7b9ae652328773ce2c239620db96dcbaa103345207074f0de1b433c272fb25ba840ba136b4afa1309985fef5d8debef165c5f67ebf4f67134

View File

@@ -1,70 +0,0 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit flag-o-matic toolchain-funcs
DESCRIPTION="Strongly-timed, concurrent, and on-the-fly audio programming language"
HOMEPAGE="http://chuck.cs.princeton.edu/"
SRC_URI="http://chuck.cs.princeton.edu/release/files/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+alsa jack examples"
REQUIRED_USE="|| ( alsa jack )"
RDEPEND="app-eselect/eselect-chuck
media-libs/libsndfile
alsa? ( media-libs/alsa-lib )
jack? ( virtual/jack )"
DEPEND="${RDEPEND}
app-alternatives/yacc
app-alternatives/lex"
PATCHES=(
"${FILESDIR}"/${PN}-1.4.0.0-hid-smc.patch
"${FILESDIR}"/${PN}-1.5.3.2-makefile.patch
)
compile_backend() {
backend=$1
pushd "${S}/src" &>/dev/null || die
einfo "Compiling against ${backend}"
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getCXX)" linux-${backend}
mv chuck{,-${backend}} || die
emake clean
popd &>/dev/null || die
}
src_compile() {
# when compile with athlon or athlon-xp flags
# chuck crashes on removing a shred with a double free or corruption
# it happens in Chuck_VM_Stack::shutdown() on the line
# SAFE_DELETE_ARRAY( stack );
replace-cpu-flags athlon athlon-xp i686
use jack && compile_backend jack
use alsa && compile_backend alsa
}
src_install() {
use jack && dobin src/chuck-jack
use alsa && dobin src/chuck-alsa
dodoc AUTHORS DEVELOPERS QUICKSTART README.md THANKS VERSIONS
if use examples; then
dodoc -r examples
docompress -x /usr/share/doc/${PF}/examples
fi
}
pkg_postinst() {
if [[ -z ${REPLACING_VERSIONS} ]]; then
elog "Chuck now can use multiple audio engines, so you can specify"
elog "the preferred audio engine with chuck-{jack,alsa}"
elog "Or you can use 'eselect chuck' to set the audio engine"
fi
eselect chuck update --if-unset
}

View File

@@ -1,15 +1,9 @@
DIST zabbix-6.0.39-go-deps.tar.xz 31696792 BLAKE2B c8aa135f04bed5a4167dd07e06a6b458eca66839d4fcfab024811c1312b583509f7259612c03b1745eefb65cd7ee7e9405af510056c1ca96efbef98548ea623d SHA512 39fb3fed09138deb84d25cf17eecf5b0826526ef4080350060388e67b0aed7401d4a72dad020af4117d4bfa5e28f91549701b74d5a0cd94c7659a81f4d5d7167
DIST zabbix-6.0.39.tar.gz 41030406 BLAKE2B 375313d121e1c00c04d42a04693d39c900fd005caa67d3e41dc8b93486d8f6d271473c7d340444dba9b0a80c94b9f45f94e5506fe8d0af2f1ac8956f1f750a5b SHA512 046494cd24880d83c7a174482f1c1a29b5bf0cd6b39d1a0909ca628faf9d2a134a7fed728c8776dce877d4dcaf474ff20683ce95e8884b830d99b32e2962b7c1
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.10-go-deps.tar.xz 34217436 BLAKE2B 53cbaba055ad691e1fc3611e07be00a4399585bacefcc3cc98abd5091137df8419b3dd7b1f59523eba7fcbe00ed3df8fd59b5ddd37a4ed8df574e122b496c25b SHA512 663d7d81587dd6a5a1ad0ebeb571c96416fe443e3d54ca645f8708d09b9cbba0dc82580065db6a3a98e2530b04494c3a175949f43af8fd0ec39bf63b538be4b9
DIST zabbix-7.0.10.tar.gz 45000043 BLAKE2B efba2b31163cd1e4edb3a2fc22ac908a0c64e75843ce8f9d971b1c2c41c4cc10b842d13ae0b1dd478e4b590e1b09f8ee3aa7782b555e44cbd9423975954d546b SHA512 4f4b69a9ad5da85c9634cb0123bc04fe58c10a0584a41afa977ffc788c0040c9dd16b0643ce3cc68d899be897a2298c4753b6589e6eae9fea108deab01eca51e
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.2.4-go-deps.tar.xz 34209144 BLAKE2B 541741de6085fb56661470376f8aea5300577e605d47b96e6a0b58699e5e9f0da9e60df0ceff7ec230f2d7890340d6ba11ee4444b7d8f1aa5247397665b8d6e8 SHA512 72d028333130fde090317e68f47a5ffb0802501254eefb5e836fd0ce121d0b065dcaeb49a8c3563b6dfb31758bbe42d0690faf64517af8bfb59c8040f0de3e72
DIST zabbix-7.2.4.tar.gz 41031413 BLAKE2B 015969dd88bc04c74491f3af6ce06b1cfb06522d10d8ad8d5045d3e9375277b36e17de350f51307978dde1152aafbf08834e5db46cae33129b5ea68d13438d65 SHA512 a374c4e41651dc2a38a3315aa3b98acb7d66f10fa9893f10e6114e3090650768b87ec9fdf9a08c28a0fb5f465376a844e06205f3ac0c8dd9d64e4966b216e224
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

View File

@@ -1,389 +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 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="GPL-2"
SLOT="0/$(ver_cut 1-2)"
WEBAPP_MANUAL_SLOT="yes"
KEYWORDS="amd64 ~x86"
IUSE="agent +agent2 curl frontend gnutls ipv6 java ldap libxml2 mysql odbc openipmi +openssl oracle +postgres proxy selinux server snmp sqlite ssh static"
REQUIRED_USE="|| ( agent agent2 frontend proxy server )
?? ( gnutls openssl )
agent2? ( !gnutls )
proxy? ( ^^ ( mysql oracle postgres sqlite ) )
server? ( ^^ ( mysql oracle postgres ) !sqlite )
static? ( !oracle !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(-)] )
oracle? ( dev-db/oracle-instantclient[odbc,sdk] )
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.0.3-system.sw.packages.patch"
)
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
fi
if use frontend; then
webapp_pkg_setup
fi
java-pkg-opt-2_pkg_setup
}
src_prepare() {
default
}
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 oracle)"
"$(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 oracle; then
ewarn
ewarn "Support for Oracle database has been dropped from PHP"
ewarn "so to make the web frontend work, you need to install"
ewarn "PECL extension for Oracle database."
ewarn "For details see https://bugs.gentoo.org/928386"
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
}

View File

@@ -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
}

View File

@@ -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
}