aboutsummaryrefslogtreecommitdiffstats
path: root/community/collectd/APKBUILD
blob: d05db09eeaa92fb396bf94c9b2f028e32df561fd (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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=collectd
pkgver=5.12.0
pkgrel=7
pkgdesc="The system statistics collection daemon"
url="https://collectd.org/"
# s390x and riscv64 blocked by polkit -> libvirt
arch="all !s390x !riscv64"
license="GPL-2.0-or-later"
pkgusers="collectd"
pkggroups="collectd"
makedepends="
	autoconf
	automake
	curl-dev
	eudev-dev
	hiredis-dev
	iptables-dev
	libatasmart-dev
	libgcrypt-dev
	liboping-dev
	libpcap-dev
	libpq-dev
	libtool
	libvirt-dev
	libxml2-dev
	lm-sensors-dev
	lua-dev
	mariadb-connector-c-dev
	mosquitto-dev
	net-snmp-dev
	openipmi-dev
	openldap-dev
	perl-dev
	python3-dev
	riemann-c-client-dev
	rrdtool-dev
	yajl-dev
	zlib-dev
	"
subpackages="
	$pkgname-dev
	$pkgname-doc
	$pkgname-openrc
	$pkgname-libs
	$pkgname-perl
	$pkgname-utils
	$pkgname-plugins-all:_all:noarch
	"
install="$pkgname.pre-install $pkgname.post-upgrade"
source="https://storage.googleapis.com/collectd-tarballs/collectd-$pkgver.tar.bz2
	$pkgname-3f57541-fix-broken-t-option.patch::https://github.com/collectd/collectd/commit/3f575419e7ccb37a3b10ecc82adb2e83ff2826e1.patch
	$pkgname-dd7e4fd-nginx-add-support-for-unix-socket.patch::https://github.com/collectd/collectd/commit/dd7e4fd34042483cc90ee2762f4b507fd6637d37.patch
	$pkgname-cc565f5-nginx-add-support-for-unix-socket.patch::https://github.com/collectd/collectd/commit/cc565f5f94b117e2c64b2060627dc3fc49a8abb3.patch
	$pkgname-24bb9e2-oauth-increase-buf-size.patch::https://github.com/collectd/collectd/commit/24bb9e251969d5cf0e6eee14aad7a7e3bcc59dd8.patch
	$pkgname-91a6423-ovs_stats-fix-port-deletion.patch::https://github.com/collectd/collectd/commit/91a642385e2d068d106aa5c307de968f8b33add5.patch
	$pkgname-1483ef8-snmp-remove-des-support.patch::https://github.com/collectd/collectd/commit/1483ef8e03603bb8e1f89745325a17ba50fbbedf.patch
	gnu_source.patch
	collectd.initd
	"
options="!check"  # test_common fails

# secfixes:
#   5.5.2-r0:
#     - CVE-2016-6254

# <subpackage>[:<libname>...]
_plugins="
	apache
	apcups
	ascent
	battery
	bind
	ceph
	chrony
	curl:curl*
	disk
	dns
	email
	exec
	hddtemp
	infiniband
	ipmi
	iptables
	log_logstash
	lua
	madwifi
	mbmon
	mcelog
	memcached
	mqtt
	multimeter
	mysql
	network
	nginx
	olsrd
	openldap
	openvpn
	ovs:ovs_*
	pcie_errors
	ping
	postgresql
	powerdns
	python
	redis
	rrdtool:rrd*
	sensors
	serial
	smart
	snmp:snmp*
	statsd
	sysevent
	teamspeak2
	ted
	virt
	vserver
	wireless
	write_http
	write_redis
	write_riemann
	write_stackdriver
	zookeeper
	"
case "$CARCH" in
	x86 | x86_64) _plugins="$_plugins
		turbostat
		"
	;;
esac
for _i in $_plugins; do
	subpackages="$subpackages $pkgname-${_i%%:*}:_plugin"
done

prepare() {
	default_prepare

	autoreconf -vif

	cat >> src/collectd.conf.in <<-EOF
	<Include "/etc/collectd.d">
	  Filter "*.conf"
	</Include>
	EOF
}

build() {
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc/collectd \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--localstate=/var \
		--with-libiptc \
		--enable-rrdtool \
		--enable-bind \
		--disable-werror \
		--with-perl-bindings=INSTALLDIRS=vendor
	make

	# disable plugins by default since its in a subpackage
	sed -i -e 's/^LoadPlugin network/#LoadPlugin network/' \
		-e 's/^LoadPlugin rrdtool/#LoadPlugin rrdtool/' \
		src/collectd.conf
}

check() {
	make check
}

package() {
	local header path

	make DESTDIR="$pkgdir" install

	find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete

	chown root:collectd "$pkgdir"/etc/collectd/collectd.conf
	mkdir -p "$pkgdir"/etc/collectd.d

	install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname


	# Install all header files to allow building out-of-tree plugins.
	# This is based on Debian.
	for path in $(find src -path src/libcollectdclient -prune \
		-o -path src/liboconfig -prune \
		-o -name '*.h' -print)
	do
		install -D -m644 "$path" "$pkgdir"/usr/include/collectd/core/${path#src/}
	done
	install -D -m644 src/liboconfig/oconfig.h -t "$pkgdir"/usr/include/collectd/liboconfig/

	cd "$pkgdir"/usr/include/collectd/

	# Update include path for collectd core header files.
	headers=$(find ./core ./liboconfig -type f -name '*.h')
	for path in $headers; do
		sed -r -i "s|(include\s+)\".*\<${path##*/}\"|\1\"collectd/${path#./}\"|" $headers
	done
}

perl() {
	pkgdesc="perl bindings to collectd"

	amove usr/lib/collectd/perl.so
	amove usr/lib/perl*
	amove usr/share/perl*
}

utils() {
	pkgdesc="$pkgname utilities"

	amove usr/bin/*
}

_all() {
	pkgdesc="Meta package for all collectd plugins"
	depends=""

	local plugin; for plugin in $_plugins; do
		depends="$depends $pkgname-${plugin%%:*}"
	done

	mkdir -p "$subpkgdir"
}

_plugin() {
	local name="${subpkgname#$pkgname-}"
	pkgdesc="$name pluin for collectd"
	depends="collectd"

	local libnames=$(printf '%s\n' $_plugins | grep "^$name:" | cut -d: -f2- | tr : ' ')
	local libname

	for libname in ${libnames:-$name}; do
		amove usr/lib/collectd/$libname.so
	done
}

sha512sums="
7a15e4c0ae587db4987d673a790a4f3bea1cab29ce24a506fb21fa7bd2f60bfec70867eaa1c1395cb5b0e0ae81a024fb6109b064da0ef50e7c146d2198871c70  collectd-5.12.0.tar.bz2
b8af8bb68d4da90f77cea5ed2cd751340fa2abe7e6b56e5abd52f8e79d4cd40c5a73a79cfb1e517657dd2b89169320e71f2c0061e4fbed27864fb6dc958d240e  collectd-3f57541-fix-broken-t-option.patch
1b9b2e166d3a850cb0c1f1252536783fa009a13852c8b05b93f9ec81f989978c15100d406e53f1bf61e8cc40bc87bba7e3873da624d2e62aaeec4b677d8efbe1  collectd-dd7e4fd-nginx-add-support-for-unix-socket.patch
6cac6b16ea5ed6b8297d626ba07ea0484df10d28683204ff67cf96f99aadacbee8649d9478e34283d76829613d999d4644e478e17f0d8e1724447b020eba877e  collectd-cc565f5-nginx-add-support-for-unix-socket.patch
3c3092a4f55dbefae2403d21697ff56c7f9ea79edd954e072843575a7117d07d8166ee01f34595097e3f0950cdaa150f51d97931c689dfbc98fcab55d2591793  collectd-24bb9e2-oauth-increase-buf-size.patch
aa8f9d47d4b6fcbc3e1fc9bdbedf089364bad7d6698cb76e1de2d33de7699bdd96ade6775b97ed1e98e5f3da2d7fe96ade29d480dd69568240481cd06a6b6f75  collectd-91a6423-ovs_stats-fix-port-deletion.patch
e5089707e349c10a3cfb25d6a9d52db8fdd450b404c68fe82d9a321d8f6d7bd20ba6f9ef045dd76e3251e67a2cf728cc0ac58b8c791a5fb260b74cd520608cea  collectd-1483ef8-snmp-remove-des-support.patch
3078e43fc1aa5e5d5f7042472f465cc3b077c59f43a9867ade038e59bb210f26f53bb9a1e1e8a198ca53939a4b2e03a1f05628aa54f826746f970faa36acff6a  gnu_source.patch
a286c2164af196154d017658d6e5aa3cc4f76dadf90b68c3021418979d9f0377776bb990d737ae5c916c04475725365aea8b78e3bc5e2f3679d5a99f8b9af13e  collectd.initd
"