# Contributor: Ɓukasz Jendrysik # Contributor: Jeff Bilyk # Contributor: Leonardo Arena # Maintainer: Natanael Copa pkgname=zabbix pkgver=4.2.3 pkgrel=0 pkgdesc="Enterprise-class open source distributed monitoring" url="http://www.zabbix.com" arch="all" license="GPL-2.0-or-later" depends="fping" _php=php7 _php_depends="$_php ${_php}-gd ${_php}-curl ${_php}-bcmath ${_php}-sockets ${_php}-iconv ${_php}-xmlreader ${_php}-xmlwriter ${_php}-ctype ${_php}-gettext ${_php}-session ${_php}-simplexml ${_php}-json" makedepends="postgresql-dev curl-dev net-snmp-dev libevent-dev pcre-dev sqlite-dev mariadb-connector-c-dev curl-dev openipmi-dev unixodbc-dev libxml2-dev autoconf automake libssh2-dev gnutls-dev $_php_depends" install="$pkgname.pre-install" pkgusers="zabbix" pkggroups="zabbix" options="!check" # no tests available subpackages="$pkgname-doc $pkgname-agent $pkgname-pgsql $pkgname-mysql $pkgname-sqlite $pkgname-webif::noarch $pkgname-utils $pkgname-setup::noarch $pkgname-openrc $pkgname-agent-openrc:agent_openrc" source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz zabbix-server.initd zabbix-server.confd zabbix-agentd.initd zabbix-proxy.initd zabbix-getloadavg.patch automake.patch musl-fix-includes.patch zabbix_server.conf.patch " builddir="$srcdir"/$pkgname-$pkgver # security fixes: # 3.0.4-r0: # - CVE N/A ZBX-11023 prepare() { default_prepare autoreconf -fvi # Fix config file locations for file in server agentd proxy; do sed -i "$builddir"/conf/zabbix_${file}.conf \ -e 's|SNMPTrapperFile=/tmp|SNMPTrapperFile=/var/log/zabbix|' \ -e 's|PidFile=/tmp|PidFile=/var/run/zabbix|' \ -e 's|LogFile=/tmp|LogFile=/var/log/zabbix|' done } build() { # set default configure flags _configure="--prefix=/usr \ --sysconfdir=/etc/zabbix \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --enable-agent \ --enable-proxy \ --enable-ipv6 \ --with-net-snmp \ --with-libcurl \ --with-libxml2 \ --with-openipmi \ --with-unixodbc \ --with-ssh2 \ --with-gnutls " # pass --export-dynamic to the linker # to make zabbix loadable modules work LDFLAGS="$LDFLAGS -Wl,--export-dynamic" # we run build for each db type # make sure prepare is same for each db for db in postgresql mysql sqlite3; do cd "$srcdir" msg "Building for $db" cp -r "$pkgname-$pkgver" "$pkgname-$pkgver-$db" cd "$builddir-$db" case $db in sqlite3) ./configure \ --build=$CBUILD \ --host=$CHOST \ --with-$db \ $_configure ;; *) ./configure \ --build=$CBUILD \ --host=$CHOST \ --enable-server \ --with-$db \ $_configure ;; esac make done } package() { # doing manual install for i in agentd proxy server; do install -D -m755 "$builddir"/man/zabbix_$i.man \ "$pkgdir"/usr/share/man/man8/zabbix_$i.8 done for i in get sender; do install -D -m755 "$builddir"/man/zabbix_$i.man \ "$pkgdir"/usr/share/man/man1/zabbix_$i.1 done install -d -m0750 -o zabbix -g zabbix \ "$pkgdir"/var/run/zabbix "$pkgdir"/var/log/zabbix install -D -m0644 "$builddir"/conf/zabbix_server.conf \ "$pkgdir"/etc/zabbix/zabbix_server.conf for i in server proxy; do install -D -m0755 "$srcdir"/zabbix-$i.initd \ "$pkgdir"/etc/init.d/zabbix-$i done install -D -m0644 "$srcdir"/zabbix-server.confd \ "$pkgdir"/etc/conf.d/zabbix-server } setup() { pkgdesc="Zabbix images and sql files" depends= mkdir -p "$subpkgdir"/usr/share/zabbix mv "$builddir"/database "$subpkgdir"/usr/share/zabbix/ } _do_db() { pkgdesc="Zabbix server with $1 database support" depends="$pkgname $2" local i= mkdir -p "$subpkgdir"/usr/sbin if [ "$1" != "sqlite3" ]; then mv "$builddir-$1"/src/zabbix_server/zabbix_server \ "$subpkgdir"/usr/sbin fi mv "$builddir-$1"/src/zabbix_proxy/zabbix_proxy \ "$subpkgdir"/usr/sbin install -D -m0644 "$builddir"/conf/zabbix_proxy.conf \ "$pkgdir"/etc/zabbix/zabbix_proxy.conf cd "$builddir" for i in upgrades/dbpatches/*/$1; do [ -e $i ] || continue mkdir -p "$subpkgdir"/usr/share/zabbix/${i%/*} mv "$i" "$subpkgdir"/usr/share/zabbix/$i done return 0 } pgsql() { _do_db postgresql "!$pkgname-mysql !$pkgname-sqlite";} mysql() { _do_db mysql "!$pkgname-pgsql !$pkgname-sqlite";} sqlite(){ _do_db sqlite3 "!$pkgname-pgsql !$pkgname-mysql";} utils() { pkgdesc="Zabbix client utilities" depends= mkdir -p "$subpkgdir"/usr/bin mv "$builddir-postgresql"/src/zabbix_get/zabbix_get \ "$subpkgdir"/usr/bin mv "$builddir-postgresql"/src/zabbix_sender/zabbix_sender \ "$subpkgdir"/usr/bin } webif() { pkgdesc="Zabbix web-interface" depends="$_php_depends" _wwwdir="$subpkgdir"/usr/share/webapps/zabbix mkdir -p $_wwwdir mv "$builddir"/frontends/php/* "$_wwwdir" } agent() { pkgdesc="Zabbix Network Monitoring Agent" depends= install="$subpkgname.pre-install" install -d -m0750 -o zabbix -g zabbix \ "$subpkgdir"/var/run/zabbix "$subpkgdir"/var/log/zabbix mkdir -p "$subpkgdir"/usr/sbin mv "$builddir-postgresql"/src/zabbix_agent/zabbix_agentd \ "$subpkgdir"/usr/sbin } agent_openrc() { pkgdesc="Zabbix Network Monitoring Agent (OpenRC init scripts)" depends=openrc install_if="openrc $pkgname-agent=$pkgver-r$pkgrel" install -D -m0644 "$builddir"/conf/zabbix_agentd.conf \ "$subpkgdir"/etc/zabbix/zabbix_agentd.conf install -D -m0755 "$srcdir"/zabbix-agentd.initd \ "$subpkgdir"/etc/init.d/zabbix-agentd } sha512sums="2e7d7372d5ce84798743d3c10fea0230aac470b0d9936a722687eefbe818b51e16f5dc64040b8b1b1189f64e8785ceca108914534efecd152473d213b15f7e07 zabbix-4.2.3.tar.gz 9998ee172a28002d98bacc3f76038ff52b8cf2b206e101418d76b4ca3de94afaf92cb4f7a6235ecf177f74beb9dd3ea1f3983c4f164b4f60bb601acba65aa175 zabbix-server.initd 9c06527bf653c40585fa7eeb3f7a0b2fc454031d24cd0d1633aed87b78a681c5227a193c5b9fcfcea0839135874e27ba7dd9b198573f905f680a2856f79e9512 zabbix-server.confd 523013cab3ba79cbc00db92f09d4c5d514fd6aa9cbebf8f29227dc91fbc19d2f8375af74c21d2037e4f3380a818f808194dbc94e69709ef2cf90f66e715895c4 zabbix-agentd.initd a26e7ac422ff60a4b8eed3603022c3a1bde640870bb9286ab061c3cb5c2fd7e91ddb317cb3d1cf61034adda0a080fc212ad416c9e2853a1deb03c5279753f4e2 zabbix-proxy.initd 9fc413b11a01c8202c7ee1c7950d6ca3de2d2d6cd01bea994cd4bc412533b53c4e4b1f58fc3c8df16ea70902053e278e2c5dcc936ce3e0a686a6eac62310ef53 zabbix-getloadavg.patch 7f70dfd602aa164ec8cc65ebb7e8274c685975f6aea9051933928051b8d9b6e368e5a673a07e7084a2105468c5085d72fa7b9f934460f10648d594f28f031a91 automake.patch 72709df7624d99b2eaab8d91d95167580e80da10b3ac65b7f27f12d858f0d051d4f9143bcabceae2bfd51aeb7c4ca93e2b74670637ec0925b026e3c52475d52b musl-fix-includes.patch 183e2d99800d8eebb932cb31c5a3e8742ce6a15e87aec50dc49d9c20b35840eb7ede9920aa62d2c7a5e3f584f5c3df398aa08e93f98fa537a3ba6db63b472a1f zabbix_server.conf.patch"