blob: 69efc13c1206313e0387247eecadc43e0883c1eb (
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
|
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=collectd
pkgver=5.6.2
pkgrel=1
pkgdesc="The system statistics collection daemon"
url="http://collectd.org"
arch="all"
license="GPL2"
depends=""
makedepends="curl-dev net-snmp-dev postgresql-dev perl-dev python2-dev
libgcrypt-dev mariadb-dev zlib-dev libressl-dev iptables-dev
rrdtool-dev yajl-dev libvirt-dev lm_sensors-dev libxml2-dev
hiredis-dev eudev-dev mosquitto-dev lua-dev lvm2-dev openipmi-dev
libpcap-dev liboping-dev
autoconf automake libtool"
install=""
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs
$pkgname-perl $pkgname-snmp $pkgname-curl:_curl $pkgname-utils
$pkgname-write_http $pkgname-nginx $pkgname-apache $pkgname-postgresql
$pkgname-network $pkgname-mysql $pkgname-rrdtool $pkgname-sensors
$pkgname-python:_python $pkgname-iptables:_ipt $pkgname-bind
$pkgname-ascent $pkgname-virt $pkgname-redis $pkgname-write_redis
$pkgname-log_logstash $pkgname-ceph $pkgname-disk $pkgname-lvm
$pkgname-lua $pkgname-mqtt $pkgname-ipmi $pkgname-ping $pkgname-dns"
install="$pkgname.pre-install"
pkgusers="collectd"
pkggroups="collectd"
source="http://collectd.org/files/collectd-$pkgver.tar.bz2
collectd.initd
gnu_source.patch
collectd.pre-install
CVE-2017-16820.patch
CVE-2017-7401.patch
"
builddir="$srcdir"/$pkgname-$pkgver
# secfixes:
# 5.6.2-r1:
# - CVE-2017-7401
# - CVE-2017-16820
# 5.5.2-r0:
# - CVE-2016-6254
build() {
cd "$builddir"
autoreconf -vif || return 1
./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-libvirt \
--enable-bind \
--disable-werror \
--with-perl-bindings=INSTALLDIRS=vendor \
|| return 1
make || return 1
# disable plugins by default since its in a subpackage
sed -i -e 's/^LoadPlugin network/#LoadPlugin network/' \
src/collectd.conf || return 1
sed -i -e 's/^LoadPlugin rrdtool/#LoadPlugin rrdtool/' \
src/collectd.conf || return 1
}
package() {
cd "$builddir"
make DESTDIR="$pkgdir" install || return 1
chown root:collectd "$pkgdir"/etc/collectd/collectd.conf || return 1
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
}
perl() {
pkgdesc="perl bindings to collectd"
mkdir -p "$subpkgdir"/usr/lib/collectd \
"$subpkgdir"/usr/share || return 1
mv "$pkgdir"/usr/lib/collectd/perl.so \
"$subpkgdir"/usr/lib/collectd/ || return 1
mv "$pkgdir"/usr/lib/perl* "$subpkgdir"/usr/lib/ || return 1
mv "$pkgdir"/usr/share/perl* "$subpkgdir"/usr/share/
}
utils() {
pkgdesc="$pkgname utilities"
mkdir -p "$subpkgdir"/usr/bin
mv "$pkgdir"/usr/bin/* "$subpkgdir"/usr/bin/
}
_plugin() {
local mod=$1
local desc=${2:-$mod}
pkgdesc="$desc pluin for collectd"
depends="collectd"
install -d "$subpkgdir"/usr/lib/collectd
mv "$pkgdir"/usr/lib/collectd/$mod.so "$subpkgdir"/usr/lib/collectd/
}
snmp() { _plugin snmp; }
_curl() { _plugin 'curl*'; }
write_http() { _plugin write_http; }
nginx() { _plugin nginx; }
apache() { _plugin apache; }
postgresql() { _plugin postgresql; }
mysql() { _plugin mysql; }
network() { _plugin network; }
rrdtool() { _plugin 'rrd*'; }
sensors() { _plugin sensors; }
_python() { _plugin python; }
_ipt() { _plugin iptables; }
bind() { _plugin bind; }
ascent() { _plugin ascent; }
redis() { _plugin redis; }
write_redis() { _plugin write_redis; }
log_logstash() { _plugin log_logstash; }
ceph() { _plugin ceph; }
disk() { _plugin disk; }
lvm() { _plugin lvm; }
lua() { _plugin lua; }
mqtt() { _plugin mqtt; }
virt() { _plugin virt; provides="$pkgname-libvirt"; }
ipmi() { _plugin ipmi; }
ping() { _plugin ping; }
dns() { _plugin dns; }
sha512sums="81438e2e653649cf8a447f475b41844b7adb8ec436b43fb395ba9cf8b09b56a068633fe4b6c802d5cde3909d85a3af2542f5804005b3843f7936a37553911d61 collectd-5.6.2.tar.bz2
a286c2164af196154d017658d6e5aa3cc4f76dadf90b68c3021418979d9f0377776bb990d737ae5c916c04475725365aea8b78e3bc5e2f3679d5a99f8b9af13e collectd.initd
519fa563d319928e35e0235dd2bc38e7e53dbaae93ede1c93622dab2d00e1ac3baa93200f9e3e62cb81c1c9d808171b4648db864191d57a703ac7874b9c5fb95 gnu_source.patch
cb0efcd3b9bd5620b7d812d5f038ebd60253f1ce9006da0a1b4b56666202a4254e80ab6a84d675b6cb099ecda1897de17b51a9e3f0d83e8b0455343f5f6d24d7 collectd.pre-install
66faf535ee1dbd8d2d8e12b5011be6adb6f5cbee409d3e1b7eaf3c14938c643ecb93d21c0417aea37da0847dfc76b846980701eb5be108e381f210a67ecaacac CVE-2017-16820.patch
7c6d9b09ebb5bd550b602a1291af9cffe5513b12903f439d7f9c30f3b3957867d3a452c1115c0efc07fe6bd80d09ab60804fd38daa1a7ef1b59bcb7d731d6b76 CVE-2017-7401.patch"
|