aports/testing/zabbix/APKBUILD
2016-04-25 07:11:52 +00:00

220 lines
8.1 KiB
Plaintext

# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Jeff Bilyk <jbilyk at gmail>
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zabbix
_realver=3.0.0rc2
pkgver=${_realver/rc/_rc}
pkgrel=2
pkgdesc="Enterprise-class open source distributed monitoring"
url="http://www.zabbix.com"
arch="all"
license="GPL"
depends="fping"
makedepends="postgresql-dev curl-dev net-snmp-dev
sqlite-dev mariadb-dev curl-dev openipmi-dev unixodbc-dev
libxml2-dev autoconf automake libssh2"
install="$pkgname.pre-install"
pkgusers="zabbix"
pkggroups="zabbix"
subpackages="$pkgname-doc $pkgname-agent $pkgname-pgsql $pkgname-mysql
$pkgname-webif $pkgname-sqlite $pkgname-utils $pkgname-setup"
source="http://downloads.sourceforge.net/$pkgname/$pkgname-$_realver.tar.gz
zabbix-getloadavg.patch
automake.patch
musl-fix-includes.patch
zabbix-server.initd
zabbix-server.confd
zabbix-agentd.initd
zabbix-proxy.initd
zabbix_server.conf.patch
"
_builddir="$srcdir"/$pkgname-$_realver
prepare() {
cd "$_builddir"
# update_config_sub || return 1
for i in $source; do
case $i in
*eglibc*.patch)
if [ "$CLIBC" == "eglibc" ]; then
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || return 1
fi
;;
*.patch)
msg "Applying $i"
patch -p1 -i "$srcdir"/$i || return 1
;;
esac
done
aclocal -I m4 && autoconf && autoheader \
&& automake --add-missing || return 1
# update_config_sub
# 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|' || return 1
done
}
build() {
# set default configure flags
_configure="--prefix=/usr \
--sysconfdir=/etc/zabbix \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--enable-server \
--enable-agent \
--enable-proxy \
--enable-ipv6 \
--with-net-snmp \
--with-libcurl \
--with-libxml2 \
--with-openipmi \
--with-unixodbc \
--with-ssh2
"
# 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-$_realver" "$pkgname-$_realver-$db"
cd "$_builddir-$db"
./configure \
--build=$CBUILD \
--host=$CHOST \
--with-$db \
$_configure \
|| return 1
make || return 1
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
install -D -m0644 "$_builddir"/conf/zabbix_trapper.conf \
"$pkgdir"/etc/zabbix/zabbix_trapper.conf
for i in server proxy; do
install -D -m0755 "$srcdir"/zabbix-$i.initd \
"$pkgdir"/etc/init.d/zabbix-$i || return 1
done
install -D -m0644 "$srcdir"/zabbix-server.confd \
"$pkgdir"/etc/conf.d/zabbix-server || return 1
}
setup() {
arch="noarch"
pkgdesc="Zabbix images and sql files"
depends=
mkdir -p "$subpkgdir"/usr/share/zabbix/ || return 1
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
mv "$_builddir-$1"/src/zabbix_server/zabbix_server \
"$subpkgdir"/usr/sbin/ || return 1
mv "$_builddir-$1"/src/zabbix_proxy/zabbix_proxy \
"$subpkgdir"/usr/sbin/ || return 1
install -D -m0644 "$_builddir"/conf/zabbix_proxy.conf \
"$pkgdir"/etc/zabbix/zabbix_proxy.conf || return 1
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() {
arch="noarch"
pkgdesc="Zabbix web-interface"
depends="php php-gd php-curl php-bcmath php-sockets php-iconv
php-xmlreader php-ctype php-gettext"
_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
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
mkdir -p "$subpkgdir"/usr/sbin
mv "$_builddir-postgresql"/src/zabbix_agent/zabbix_agent \
"$subpkgdir"/usr/sbin/
mv "$_builddir-postgresql"/src/zabbix_agent/zabbix_agentd \
"$subpkgdir"/usr/sbin/
}
md5sums="7c4cc115d3ef2bc5dfc453e9d1b3be63 zabbix-3.0.0rc2.tar.gz
3a71e310bd2b38498a7c6830169f7480 zabbix-getloadavg.patch
bf62c539870874e11de39c60cb974786 automake.patch
40c81bdec85815f4ba637eb6528cc5e8 musl-fix-includes.patch
f44105322022734dc42032db0396fe9e zabbix-server.initd
bd91d0243cf8f72b86b9bf0b91963663 zabbix-server.confd
d9711779f969958c8aa348991170578b zabbix-agentd.initd
0ce2ab963a0bc5a0a6e17a708b7c7064 zabbix-proxy.initd
3d031903ea14e1de0804ff1230fd968e zabbix_server.conf.patch"
sha256sums="43f23a61cb73868338fa20762ace4f135cc9d63e3a585f58dd4f2d0d947e2de9 zabbix-3.0.0rc2.tar.gz
d2c0651c5fa67a1857707552e79ecece7ca95c149042460c40456634bf7611dc zabbix-getloadavg.patch
b347ca77660e69bea353c50e2fce0c7c4cc837f782c9f84f74ba92c1a62b4c1b automake.patch
38b4e1a5d5c16c7d9b31347acf710d84b693f6e1df365d1072548e897e034884 musl-fix-includes.patch
d4c6dcf9b78f78a2ef2b4a4f2763fb90f81d0298bc90bd164db8604f161182ec zabbix-server.initd
ddf75041fb0afc5b211dd79a934341cc9db4325447ad33a42cbf09bdfb5cad42 zabbix-server.confd
62223dce45fb915cc66eb24c839cf63e81c80159da9360e7669e7384082e3a08 zabbix-agentd.initd
ec3a8c564be20221ea7560fbec345191cd251d58bd15e9c41abec40c2cf5b4f2 zabbix-proxy.initd
f87b221d32b3088db78c013f11d035339d7058817092dfdcc39898b4b3ee8448 zabbix_server.conf.patch"
sha512sums="134ebe2ad95bc43a629620065d6ff4137c1e958851da7139d91873de63e366c306c5c1d503bf44c3ff74fd9c0d57a6becad236257b1914fd67a8e6c49230183b zabbix-3.0.0rc2.tar.gz
b65c6ba7701d98ae7f6fe2124c1d2b8b8fea3c3cc7ee080bf99f5afff0aaa6a025c2a1f5136b4700b53d1b7609e6185642650d7edd013c554b2af37fddae771c zabbix-getloadavg.patch
9bff8966cb8b3f1767bfb1b3f3529bca5c9957f2c8179a40ded3b4e43615ba9fb408aef43092fd119b7df80b042555d05c9780fac3760176b95524aa48252fee automake.patch
9b87ec1ea4a9cbb501c16012d498cdae82a696f4cd495e1e8cb201d9e31c6e135da5bb264c6273f2de87297bd3e4bd16f66703610686f5d610e3316ee24aac91 musl-fix-includes.patch
3a25bf9f428f55545dd735aea2855e0e4927e006ca01a2f918ec161ffe9b2ec66e46598bf34208e24535e1d04e33087f42eb8226b17eb4118abd6507bbb10ff5 zabbix-server.initd
a91821c6086a1fc0197750cc68073419defcb7d775b11b14a993409a8f61c7a1a0a0af95de27eed9f3b8357f8362640cb1b26b91b56f4f1d714ca6f222d02b80 zabbix-server.confd
7cc2672b717f1b47b12342fe225e9dc3838c61a0bf81d359d0a71efb0adc9b354fb8bc8b5bb64c9defa5700bcaf651b35778194a50b6b03b0a723dce76460092 zabbix-agentd.initd
e19490e724c6e4ecdadf7ee3898567b82f18ea2a894ef709bfc181c3076d50435b45429207dd4d537aacbec0242d83393240e48b434d9681ebb0d67a45643ed1 zabbix-proxy.initd
e0c9f937d39e15fa34e70e8ae9e6578b221b51c13dc0515e807675d153a85ab6370ed20ce2d06aa4457baaf3963edce525cd00e85fb105b36b58741798d13836 zabbix_server.conf.patch"