From 613fc65a15621448af5ca08114853b6177192049 Mon Sep 17 00:00:00 2001 From: Carlo Landmeter Date: Tue, 1 Feb 2011 16:04:10 +0000 Subject: main/zabbix: redesign apkbuild to include support for sqlite and mysql --- main/zabbix/APKBUILD | 143 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 99 insertions(+), 44 deletions(-) (limited to 'main/zabbix') diff --git a/main/zabbix/APKBUILD b/main/zabbix/APKBUILD index c6a08a6aa..4abde50b9 100644 --- a/main/zabbix/APKBUILD +++ b/main/zabbix/APKBUILD @@ -2,17 +2,19 @@ # Maintainer: Natanael Copa pkgname=zabbix pkgver=1.8.4 -pkgrel=1 +pkgrel=2 pkgdesc="Enterprise-class open source distributed monitoring" url="www.zabbix.com" arch="all" license="GPL" -depends="php php-pgsql php-gd php-curl php-bcmath php-sockets php-iconv fping" -makedepends="postgresql-dev curl-dev libiconv-dev net-snmp-dev" +depends="fping" +makedepends="postgresql-dev curl-dev libiconv-dev net-snmp-dev + sqlite-dev mysql-dev curl-dev" install="$pkgname.pre-install" pkgusers="zabbix" pkggroups="zabbix" -subpackages="$pkgname-doc $pkgname-agent" +subpackages="$pkgname-doc $pkgname-agent $pkgname-pgsql $pkgname-mysql + $pkgname-webif $pkgname-sqlite $pkgname-utils $pkgname-setup" source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz zabbix_server.conf zabbix_trapper.conf @@ -40,60 +42,113 @@ prepare() { } build() { - cd "$_builddir" - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --enable-server \ - --enable-agent \ - --enable-proxy \ - --enable-ipv6 \ - --with-pgsql \ - --with-net-snmp \ - --with-libcurl - make || return 1 + # set default configure flags + _configure="--prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --enable-server \ + --enable-agent \ + --enable-proxy \ + --enable-ipv6 \ + --with-net-snmp \ + --with-libcurl + " + # we run build for each db type + # make sure prepare is same for each db + for db in pgsql mysql sqlite3; do + cd "$srcdir" + msg "Building for $db" + cp -r "$pkgname-$pkgver" "$pkgname-$pkgver-$db" + cd "$_builddir-$db" + ./configure --with-$db \ + $_configure + make || return 1 + done } -package() { - local _wwwdir="$pkgdir"/usr/share/webapps/zabbix - cd "$_builddir" - make DESTDIR="$pkgdir" install +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 + "$pkgdir"/var/run/zabbix "$pkgdir"/var/log/zabbix + install -D -m0644 "$srcdir"/zabbix_server.conf \ + "$pkgdir"/etc/zabbix/zabbix_server.conf + install -D -m0644 "$srcdir"/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 "$pkgdir"/etc/zabbix - install -d "$pkgdir"/usr/share/zabbix/dbms/create/data - install -d -m0755 "$_wwwdir" - install -D -m0644 "$srcdir"/zabbix_server.conf "$pkgdir"/etc/zabbix/zabbix_server.conf - install -D -m0644 "$srcdir"/zabbix_trapper.conf "$pkgdir"/etc/zabbix/zabbix_trapper.conf - install -D -m0755 "$srcdir"/zabbix-$pkgver/create/data/data.sql "$pkgdir"/usr/share/zabbix/dbms/create/data/data.sql - install -D -m0755 "$srcdir"/zabbix-$pkgver/create/data/images_pgsql.sql "$pkgdir"/usr/share/zabbix/dbms/create/data/images_pgsql.sql - install -D -m0755 "$srcdir"/zabbix-$pkgver/create/schema/postgresql.sql "$pkgdir"/usr/share/zabbix/dbms/create/postgresql.sql - cp -r "$srcdir"/zabbix-$pkgver/frontends/php/* "$_wwwdir" - - for i in server proxy; do - install -D -m0755 "$srcdir"/zabbix-$i.initd \ - "$pkgdir"/etc/init.d/zabbix-$i || return 1 - done - +setup() { + pkgdesc="Zabbix images and sql files" + depends= + mkdir -p "$subpkgdir"/usr/share/zabbix/create + mv "$srcdir"/$pkgname-$pkgver/create/data \ + "$subpkgdir"/usr/share/zabbix/create + mv "$srcdir"/$pkgname-$pkgver/create/schema \ + "$subpkgdir"/usr/share/zabbix/create +} + +_do_db() { + pkgdesc="Zabbix server with $1 database support" + depends=$pkgname + 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 + return 0 +} + +pgsql() { _do_db pgsql; } +mysql() { _do_db mysql; } +sqlite() { _do_db sqlite3; } + +utils() { + pkgdesc="Zabbix client utilities" + depends= + mkdir -p "$subpkgdir"/usr/bin + mv "$_builddir-pgsql"/src/zabbix_get/zabbix_get \ + "$subpkgdir"/usr/bin + mv "$_builddir-pgsql"/src/zabbix_sender/zabbix_sender \ + "$subpkgdir"/usr/bin +} + +webif() { + pkgdesc="Zabbix web-interface" + depends="php php-pgsql php-gd php-curl php-bcmath php-sockets php-iconv" + _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 "$subpkgdir"/etc/zabbix - install -D -m0644 "$srcdir"/zabbix_agentd.conf "$subpkgdir"/etc/zabbix/zabbix_agentd.conf - install -D -m0755 "$srcdir"/zabbix-agentd.initd "$subpkgdir"/etc/init.d/zabbix-agentd - + install -D -m0644 "$srcdir"/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 -f "$pkgdir"/usr/sbin/zabbix_agentd "$subpkgdir"/usr/sbin/ + mv "$_builddir-pgsql"/src/zabbix_agent/zabbix_agent \ + "$subpkgdir"/usr/sbin/ + mv "$_builddir-pgsql"/src/zabbix_agent/zabbix_agentd \ + "$subpkgdir"/usr/sbin/ + } md5sums="969ce09317c98b205bc96157e16f5c8c zabbix-1.8.4.tar.gz -- cgit v1.2.3