summaryrefslogtreecommitdiffstats
path: root/main/zabbix/APKBUILD
blob: 75f886552e6d3f5716ff39b5a8e12f1aa781d7e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# Contributor: Jeff Bilyk <jbilyk at gmail>
# Maintainer: Natanael Copa <natanael.copa@gmail.com>
pkgname=zabbix
pkgver=1.8.9
pkgrel=0
pkgdesc="Enterprise-class open source distributed monitoring"
url="www.zabbix.com"
arch="all"
license="GPL"
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 $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
	zabbix_proxy.conf
	zabbix_agentd.conf
	zabbix-dn_skipname.patch
	zabbix-getloadavg.patch
	zabbix-server.initd
	zabbix-agentd.initd
	zabbix-proxy.initd
	"

_builddir="$srcdir"/$pkgname-$pkgver

prepare() {
	cd "$_builddir"
	for i in $source; do
		case $i in
		*.patch)
			msg "Applying $i"
			patch -p1 -i "$srcdir"/$i || return 1
			;;
		esac
	done
}

build() {
	# 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() {
        # 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 "$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
}

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 -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 "$_builddir-pgsql"/src/zabbix_agent/zabbix_agent \
		"$subpkgdir"/usr/sbin/
        mv "$_builddir-pgsql"/src/zabbix_agent/zabbix_agentd \
	                "$subpkgdir"/usr/sbin/

}

md5sums="fc8c7fad2943dea73d4f2338cd216715  zabbix-1.8.9.tar.gz
26b0401a83bdb1dce29338e5b2786620  zabbix_server.conf
9832a81e134c8e2c11e2a06b7adbf88f  zabbix_trapper.conf
0310b92afb3f35c1075fff53db737212  zabbix_proxy.conf
721c18077fa739f956340afca9f067f4  zabbix_agentd.conf
a55a4d0b2e13c97c280006ba4bee0afa  zabbix-dn_skipname.patch
8d1d2e53479173aac0df0c38a4d6afda  zabbix-getloadavg.patch
d823c2ab6c2bbdd0ebd3511fac4a83b4  zabbix-server.initd
1a5c718bcf815fcf659e14fb0b576a1a  zabbix-agentd.initd
a99978139481e69434f78fc3e8c53441  zabbix-proxy.initd"