aports/community/collectd/APKBUILD
2025-05-19 14:06:01 +00:00

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
"