summaryrefslogtreecommitdiffstats
path: root/main/zabbix/APKBUILD
blob: 35d79465ddde01100f10cb9f686314566f2aadaa (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
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
# Contributor: Jeff Bilyk <jbilyk at gmail>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=zabbix
pkgver=2.2.0
pkgrel=0
pkgdesc="Enterprise-class open source distributed monitoring"
url="http://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
	autoconf automake"
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-getloadavg.patch
	res_send.patch
	automake.patch
	zabbix-server.initd
	zabbix-agentd.initd
	zabbix-proxy.initd
	"

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

prepare() {
	cd "$_builddir"
	update_config_sub || return 1
	for i in $source; do
		case $i in
		*.patch)
			msg "Applying $i"
			patch -p1 -i "$srcdir"/$i || return 1
			;;
		esac
	done
	aclocal -I m4 && autoconf && autoheader \
		&& automake --add-missing || return 1
}

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
			"
        # 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"
		./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 "$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() {
	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
	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
	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; }
mysql()		{ _do_db mysql; }
sqlite()	{ _do_db sqlite3; }

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

}

md5sums="caec9b3b744dac0b171c0c6b0c240b69  zabbix-2.2.0.tar.gz
26b0401a83bdb1dce29338e5b2786620  zabbix_server.conf
9832a81e134c8e2c11e2a06b7adbf88f  zabbix_trapper.conf
0310b92afb3f35c1075fff53db737212  zabbix_proxy.conf
721c18077fa739f956340afca9f067f4  zabbix_agentd.conf
3a71e310bd2b38498a7c6830169f7480  zabbix-getloadavg.patch
b80eca2e260cc9e563f4b7a1b30bb158  res_send.patch
5f7b1815a309d8dade4a1d15d5048742  automake.patch
d823c2ab6c2bbdd0ebd3511fac4a83b4  zabbix-server.initd
1a5c718bcf815fcf659e14fb0b576a1a  zabbix-agentd.initd
a99978139481e69434f78fc3e8c53441  zabbix-proxy.initd"
sha256sums="f436f660866eaf16f9e360c158170f0e7c7251f7a393f9e14d19541161f3465d  zabbix-2.2.0.tar.gz
3b09a8fdc38216d859022c5966c36f0bcb6984974208cf4c69c17129649efdf5  zabbix_server.conf
3ae307895c9a7189e29c4ebf7479ce08d4c3bbe1a7f0a3554828170dac417bab  zabbix_trapper.conf
0cd9cab17d1a2f791262b683aeedc5115722478a4847cb438aadb51198f67287  zabbix_proxy.conf
98343193215c9e1bc79ff332688c684f7023da38583bba800acc404b12c6cc51  zabbix_agentd.conf
d2c0651c5fa67a1857707552e79ecece7ca95c149042460c40456634bf7611dc  zabbix-getloadavg.patch
552d14493b97e2ef082d4481bc4b128428ed44d46b63f8dee6e67cf0ab129d19  res_send.patch
4cd7ab9c6fa95aacab0c1f7b77bad18e9b500feca70b16c866a581775b4ad611  automake.patch
f4e18cca40cd7299140aec3077cf39429487860094d7f5d88d76d8e040dca9b8  zabbix-server.initd
4f93c4868726a3e8fed12a030cfce8911f105217a59187d6b3e1565d8d3e76b5  zabbix-agentd.initd
60a01c08df054a0c1bcfb71e378544b4c4e489e6a6779d96383387ed34ddc0b0  zabbix-proxy.initd"
sha512sums="bbc9aa3b6449076e0575f3514c595b740e9699e266402f32e4776f0b0fdf945748e3bc671b590a9678ff364742607dd5789f1a7f6e4efecce252217a7e45b36e  zabbix-2.2.0.tar.gz
3170d56a61871e6efadf705c19f864fdecf9420c4263f2a1129245b3b55bd730d1ba5a6a26ea866fc7842c86f7745e51ea28878bb9e9267ed9176499cb75e8bb  zabbix_server.conf
cd08d907838de646f65316950e8c71deae25be1701e0cc22e5fd2f636c21ef2365a537d247277bafb694cae8c5dbd22eb725c1647797ad3e4ac4b3df2084ef07  zabbix_trapper.conf
a3703641125dda8c13d658ad4e1cf2cde94af01ed953480a37006e354ff58ade4a99b3575e3f095d8639ac9c481be52e25120353d9a4cd2104a68aff4a5596e5  zabbix_proxy.conf
8a3298cb98787f89b4cc0faa6168a1ab59860c60bec159ecd341db25c0903e89061b40d2b37df9e2df99e08b71b57089bcb25f352e7edf09fbc1b0bd3f1034f6  zabbix_agentd.conf
b65c6ba7701d98ae7f6fe2124c1d2b8b8fea3c3cc7ee080bf99f5afff0aaa6a025c2a1f5136b4700b53d1b7609e6185642650d7edd013c554b2af37fddae771c  zabbix-getloadavg.patch
a2d8d52bacd353363c22f89ca26deffdec722144dab4899987ef4b8479d0b0722007bf3e97f75403e8140153eefac72106985f2bfc0c03ad6d59bc630bf0fd43  res_send.patch
7aa59336e92d83eddff4bc18038820cfc25dc50f45327a2c0a6aa0e360fa742c9724d25e84152e3a14193c88ea5d6e66fdb99f2900c0bf8199cb2adf9e143415  automake.patch
af0853d8c5a8b33399b87e7958a7ffd692fe18005dcc43af5f58e0fdf6bbee3dd66ec77a3840ae5e526a4c445b04425071f6796d726ff923aba9d3a78ca3c022  zabbix-server.initd
3ef0fe0c1c94f2f01a0c335a45ee0f3c0cd4b125d96b5eefa869a17efb352087a5dd18ef8e87c35e6816b6fb705b829f0a25452e7285637d3595ff4c103b7c21  zabbix-agentd.initd
b305ea06641c6a331273f065a4a85fac92c45e107a30e85cb41be4ea36e2efbf5442c69cc6605ea3734a851808f7abba20042058d4b07832d858cdb63e98d405  zabbix-proxy.initd"