mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-06-06 19:14:48 +02:00
338 lines
8.9 KiB
Text
338 lines
8.9 KiB
Text
# 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=22
|
|
pkgdesc="The system statistics collection daemon"
|
|
url="https://collectd.org/"
|
|
arch="all"
|
|
license="GPL-2.0-or-later"
|
|
pkgusers="collectd"
|
|
pkggroups="collectd"
|
|
makedepends="
|
|
autoconf
|
|
automake
|
|
curl-dev
|
|
eudev-dev
|
|
gpsd-dev
|
|
hiredis-dev
|
|
i2c-tools-dev
|
|
iptables-dev
|
|
jansson-dev
|
|
libatasmart-dev
|
|
libdbi-dev
|
|
libgcrypt-dev
|
|
libmemcached-dev
|
|
libmicrohttpd-dev
|
|
libmnl-dev
|
|
libmodbus-dev
|
|
libnotify-dev
|
|
liboping-dev
|
|
libpcap-dev
|
|
libpq-dev
|
|
librdkafka-dev
|
|
libtool
|
|
libxml2-dev
|
|
lm-sensors-dev
|
|
lua-dev
|
|
mariadb-connector-c-dev
|
|
mosquitto-dev
|
|
net-snmp-dev
|
|
openipmi-dev
|
|
openldap-dev
|
|
openssl-dev>3
|
|
owfs-dev
|
|
patchelf
|
|
perl-dev
|
|
python3-dev
|
|
rabbitmq-c-dev
|
|
riemann-c-client-dev
|
|
rrdtool-dev
|
|
varnish-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-2-nginx-add-support-for-unix-socket.patch::https://github.com/collectd/collectd/commit/dd7e4fd34042483cc90ee2762f4b507fd6637d37.patch
|
|
$pkgname-cc565f5-2-nginx-add-support-for-unix-socket.patch::https://github.com/collectd/collectd/commit/cc565f5f94b117e2c64b2060627dc3fc49a8abb3.patch
|
|
$pkgname-24bb9e2-2-oauth-increase-buf-size.patch::https://github.com/collectd/collectd/commit/24bb9e251969d5cf0e6eee14aad7a7e3bcc59dd8.patch
|
|
$pkgname-91a6423-2-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
|
|
$pkgname-951faba-write_prometheus-AI_ADDRCONFIG.patch::https://github.com/collectd/collectd/commit/951fababf57087dbf77fa241e133f98ad73a7389.patch
|
|
gnu_source.patch
|
|
pyinclude.patch
|
|
collectd.initd
|
|
"
|
|
options="!check" # test_common fails
|
|
|
|
# TODO: Move /etc/collectd/collectd.conf to /etc/collectd.conf.
|
|
# TODO: Clean up defualt collectd.conf.
|
|
|
|
# secfixes:
|
|
# 5.5.2-r0:
|
|
# - CVE-2016-6254
|
|
|
|
# <subpackage>[:<libname>...]
|
|
_plugins="
|
|
amqp
|
|
apache
|
|
apcups
|
|
ascent
|
|
barometer
|
|
battery
|
|
bind
|
|
capabilities
|
|
ceph
|
|
chrony
|
|
connectivity
|
|
curl:curl*
|
|
dbi
|
|
disk
|
|
dns
|
|
email
|
|
exec
|
|
gps
|
|
hddtemp
|
|
infiniband
|
|
ipmi
|
|
iptables
|
|
log_logstash
|
|
lua
|
|
madwifi
|
|
mbmon
|
|
mcelog
|
|
memcachec
|
|
memcached
|
|
modbus
|
|
mqtt
|
|
multimeter
|
|
mysql
|
|
network
|
|
nginx
|
|
notify_desktop
|
|
olsrd
|
|
onewire
|
|
openldap
|
|
openvpn
|
|
ovs:ovs_*
|
|
pcie_errors
|
|
pinba
|
|
ping
|
|
postgresql
|
|
powerdns
|
|
python
|
|
redis
|
|
rrdtool:rrd*
|
|
sensors
|
|
serial
|
|
smart
|
|
snmp:snmp*
|
|
statsd
|
|
sysevent
|
|
teamspeak2
|
|
ted
|
|
varnish
|
|
vserver
|
|
wireless
|
|
write_http
|
|
write_kafka
|
|
write_prometheus
|
|
write_redis
|
|
write_riemann
|
|
write_stackdriver
|
|
zookeeper
|
|
"
|
|
_flags=
|
|
case "$CARCH" in
|
|
x86 | x86_64) _plugins="$_plugins turbostat";;
|
|
*) _flags="--disable-turbostat";;
|
|
esac
|
|
case "$CARCH" in
|
|
x86 | armhf | armv7 | riscv64) _flags="$_flags --disable-java";;
|
|
*) _plugins="$_plugins java"; makedepends="$makedepends java-jdk";;
|
|
esac
|
|
case "$CARCH" in
|
|
s390x | riscv64) _flags="$_flags --disable-virt";;
|
|
*) _plugins="$_plugins virt"; makedepends="$makedepends libvirt-dev";;
|
|
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 \
|
|
--disable-werror \
|
|
--with-perl-bindings=INSTALLDIRS=vendor \
|
|
--with-java=/usr/lib/jvm/default-jvm \
|
|
\
|
|
--enable-all-plugins \
|
|
--disable-amqp1 \
|
|
--disable-apple_sensors \
|
|
--disable-aquaero \
|
|
--disable-dcpmm \
|
|
--disable-dpdkevents \
|
|
--disable-dpdkstat \
|
|
--disable-dpdk_telemetry \
|
|
--disable-gmond \
|
|
--disable-gpu_nvidia \
|
|
--disable-grpc \
|
|
--disable-intel_pmu \
|
|
--disable-intel_rdt \
|
|
--disable-ipstats \
|
|
--disable-lpar \
|
|
--disable-mic \
|
|
--disable-netapp \
|
|
--disable-netlink \
|
|
--disable-netstat_udp \
|
|
--disable-notify_email \
|
|
--disable-nut \
|
|
--disable-oracle \
|
|
--disable-pf \
|
|
--disable-redfish \
|
|
--disable-routeros \
|
|
--disable-sigrok \
|
|
--disable-slurm \
|
|
--disable-tape \
|
|
--disable-tokyotyrant \
|
|
--disable-write_mongodb \
|
|
--disable-xencpu \
|
|
--disable-xmms \
|
|
--disable-zone \
|
|
$_flags
|
|
make
|
|
|
|
if [ -f .libs/java.so ]; then
|
|
# Fix RPATH (there's /usr/lib/jvm/default-jvm/lib/server/jre/jre/.../jre/lib/server).
|
|
# Account for Loongarch sometime placing libjvm.so in lib/zero instead of lib/server.
|
|
# There should only be 1 libjvm.so for a particular default-jvm, if otherwise, make adjustments for glob returning multiple files.
|
|
patchelf --set-rpath "$(readlink -f $(dirname /usr/lib/jvm/default-jvm/lib/*/libjvm.so))" .libs/java.so
|
|
fi
|
|
|
|
# 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
|
|
|
|
case "$name" in
|
|
java) amove usr/share/collectd/java;;
|
|
esac
|
|
}
|
|
|
|
sha512sums="
|
|
7a15e4c0ae587db4987d673a790a4f3bea1cab29ce24a506fb21fa7bd2f60bfec70867eaa1c1395cb5b0e0ae81a024fb6109b064da0ef50e7c146d2198871c70 collectd-5.12.0.tar.bz2
|
|
b8af8bb68d4da90f77cea5ed2cd751340fa2abe7e6b56e5abd52f8e79d4cd40c5a73a79cfb1e517657dd2b89169320e71f2c0061e4fbed27864fb6dc958d240e collectd-3f57541-fix-broken-t-option.patch
|
|
58389c5c8839439040ba7f1c39089c7102b36a96e07865dd5b38092560c9cb58ca3be5ba7e45d2450e658d886fdc0a9b24af024eb158c05d3a2f5f1b75745654 collectd-dd7e4fd-2-nginx-add-support-for-unix-socket.patch
|
|
57c28aaf013cf5893594abfa08a040f34a246bfcffd1cef578158be25f7e18ac579ce96a26af57e6b31f4bb87ef367f1dee6ad41f1514736519af8f32a5d1a37 collectd-cc565f5-2-nginx-add-support-for-unix-socket.patch
|
|
37c116c5e026f8cb1c3ff6772745d8e6fafcc6683e4b5ba7f1afbef6da856b7b8a7193a009bfb8b4d5d1ff3fee14e2d281035ee530471138a2f1102aa8895c11 collectd-24bb9e2-2-oauth-increase-buf-size.patch
|
|
8ba5f533550da579fc851491efc6aaeac58436d81a4e4a09224e3e8c51b6ec90d007d58b843a7d886a58624b75ad0a79b6bc5e40176552e4dff6207f7ddd4941 collectd-91a6423-2-ovs_stats-fix-port-deletion.patch
|
|
e5089707e349c10a3cfb25d6a9d52db8fdd450b404c68fe82d9a321d8f6d7bd20ba6f9ef045dd76e3251e67a2cf728cc0ac58b8c791a5fb260b74cd520608cea collectd-1483ef8-snmp-remove-des-support.patch
|
|
81773d9aa741d1320e4f32f2be4a96661dc649803d5459d4b31988fc9b1d79489d3e06d026da31acb89217c80910a423eef01939698ed34bb1c4e9223700f9ab collectd-951faba-write_prometheus-AI_ADDRCONFIG.patch
|
|
3078e43fc1aa5e5d5f7042472f465cc3b077c59f43a9867ade038e59bb210f26f53bb9a1e1e8a198ca53939a4b2e03a1f05628aa54f826746f970faa36acff6a gnu_source.patch
|
|
bf1362d1bfaff1468409de815cff20c3f1446f2362282cdb7b764b736e2d8a51ca81f706a13cd13344858fe8fc34561a59a828f7a861f9723972b26452e8c682 pyinclude.patch
|
|
a286c2164af196154d017658d6e5aa3cc4f76dadf90b68c3021418979d9f0377776bb990d737ae5c916c04475725365aea8b78e3bc5e2f3679d5a99f8b9af13e collectd.initd
|
|
"
|