collectd/collectd-*: rework library handling

Rework --with-libfoo handling: Let a package for a plugin needing libfoo set COLLECTD_LIB.foo (typically to BUILDLINK_PREFIX.somefoo) instead of explicitly adding --with-libfoo to CONFIGURE_ARGS.
Also, in Makefile.common, only set --with-libbar=no if COLLECTD_LIB.bar is unset (for bar included in COLLECT_LIBS) instead of collectd/Makefile.common setting --with-libbar=no and collectd-bar/Makefile adding --with-libbar=something later to CONFIGURE_ARGS (which seems to work, but probably is undefined behaviour to autoconf).

Special case: use COLLECTD_LIB.grpcpp as a Variable name for libgrpc++.

Additionally, the collectd-write_riemann and collectd-write_prometheus plugin packages seem not to need devel/protobuf-c/buildlink3.mk.
This commit is contained in:
Edgar Fuß 2020-07-17 18:20:51 +02:00
parent 0183fc57a8
commit ef06509adc
15 changed files with 57 additions and 48 deletions

View File

@ -5,9 +5,9 @@ COLLECTD_PACKAGE= amqp
COMMENT= Statistics collection daemon - amqp plugin
PKGREVISION= 3
.include "../../net/rabbitmq-c/buildlink3.mk"
COLLECTD_LIB.rabbitmq= ${BUILDLINK_PREFIX.rabbitmq-c}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-librabbitmq=${BUILDLINK_PREFIX.rabbitmq-c}
.include "../../net/rabbitmq-c/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -6,13 +6,14 @@ COLLECTD_PLUGINS= curl curl_json curl_xml apache bind nginx write_http ascent
COMMENT= Statistics collection daemon - curl-based plugins
PKGREVISION= 15
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libcurl=${BUILDLINK_PREFIX.curl}
CONFIGURE_ARGS+= --with-libyajl=${BUILDLINK_PREFIX.yajl}
.include "../../devel/yajl/buildlink3.mk"
.include "../../textproc/libxml2/buildlink3.mk"
.include "../../www/curl/buildlink3.mk"
COLLECTD_LIB.curl= ${BUILDLINK_PREFIX.curl}
COLLECTD_LIB.yajl= ${BUILDLINK_PREFIX.yajl}
COLLECTD_LIB.xml2= ${BUILDLINK_PREFIX.libxml2}
.include "../../wip/collectd/Makefile.common"
.include "../../mk/bsd.pkg.mk"

View File

@ -5,9 +5,9 @@ COLLECTD_PACKAGE= dbi
COMMENT= Statistics collection daemon - dbi plugin
PKGREVISION= 2
.include "../../databases/libdbi/buildlink3.mk"
COLLECTD_LIB.dbi= ${BUILDLINK_PREFIX.libdbi}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libdbi=${BUILDLINK_PREFIX.libdbi}
.include "../../databases/libdbi/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -5,14 +5,14 @@ COLLECTD_PACKAGE= dns
COMMENT= Statistics collection daemon - dns plugin
PKGREVISION= 3
.include "../../wip/collectd/Makefile.common"
.include "../../net/libpcap/buildlink3.mk"
COLLECTD_LIB.pcap= ${BUILDLINK_PREFIX.libpcap}
CONFIGURE_ARGS+= --with-libpcap=${BUILDLINK_PREFIX.libpcap}
.include "../../wip/collectd/Makefile.common"
# On NetBSD, built-in pcap lacks headers needed
.if ${OPSYS} == "NetBSD"
PREFER.libpcap= pkgsrc
.endif
.include "../../net/libpcap/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -6,9 +6,9 @@ COLLECTD_PLUGINS= memcachec memcached
COMMENT= Statistics collection daemon - memcached plugins
PKGREVISION= 2
.include "../../devel/libmemcached/buildlink3.mk"
COLLECTD_LIB.memcached= ${BUILDLINK_PREFIX.libmemcached}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libmemcached=${BUILDLINK_PREFIX.libmemcached}
.include "../../devel/libmemcached/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -6,10 +6,9 @@ PKGNAME= ${DISTNAME:S/collectd/collectd-${COLLECTD_PACKAGE}${MYSQL_VERSION}/}
PKGREVISION= 2
COMMENT= Statistics collection daemon - mysql plugin
.include "../../mk/mysql.buildlink3.mk"
COLLECTD_LIB.mysql= ${BUILDLINK_PREFIX.mysql-client}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libmysql=${BUILDLINK_PREFIX.mysql-client}
.include "../../mk/mysql.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -4,9 +4,9 @@ COLLECTD_PACKAGE= network
COMMENT= Statistics collection daemon - network plugin
.include "../../security/libgcrypt/buildlink3.mk"
COLLECTD_LIB.gcrypt= ${BUILDLINK_PREFIX.libgcrypt}/bin/libgcrypt-config
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libgcrypt=${BUILDLINK_PREFIX.libgcrypt}/bin/libgcrypt-config
.include "../../security/libgcrypt/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -5,9 +5,9 @@ COLLECTD_PACKAGE= notify-email
COMMENT= Statistics collection daemon - notify_email plugin
PKGREVISION= 3
.include "../../mail/libesmtp/buildlink3.mk"
COLLECTD_LIB.esmtp= ${BUILDLINK_PREFIX.libesmtp}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libesmtp=${BUILDLINK_PREFIX.libesmtp}
.include "../../mail/libesmtp/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -6,9 +6,9 @@ PKGNAME= ${DISTNAME:S/collectd/collectd-${COLLECTD_PACKAGE}${PGSQL_VERSION}/}
PKGREVISION= 2
COMMENT= Statistics collection daemon - postgresql plugin
.include "../../mk/pgsql.buildlink3.mk"
COLLECTD_LIB.pq= ${PGSQL_PREFIX}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libpq=${PGSQL_PREFIX}
.include "../../mk/pgsql.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -5,9 +5,9 @@ COLLECTD_PLUGINS= redis write_redis
COMMENT= Statistics collection daemon - redis plugins
.include "../../databases/hiredis/buildlink3.mk"
COLLECTD_LIB.hiredis= ${BUILDLINK_PREFIX.hiredis}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libhires=${BUILDLINK_PREFIX.hiredis}
.include "../../databases/hiredis/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -6,8 +6,10 @@ COLLECTD_PLUGINS= write_riemann
COMMENT= Statistics collection daemon - riemann plugin
PKGREVISION= 7
#.include "../../devel/protobuf-c/buildlink3.mk"
.include "../../sysutils/riemann-client/buildlink3.mk"
COLLECTD_LIB.riemann-client=${BUILDLINK_PREFIX.riemann-client}
.include "../../wip/collectd/Makefile.common"
.include "../../devel/protobuf-c/buildlink3.mk"
.include "../../sysutils/riemann-client/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -6,9 +6,9 @@ COLLECTD_PLUGINS= rrdtool rrdcached
COMMENT= Statistics collection daemon - rrdtool plugins
PKGREVISION= 9
.include "../../databases/rrdtool/buildlink3.mk"
COLLECTD_LIB.rrd= ${BUILDLINK_PREFIX.rrdtool}
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-librrd=${BUILDLINK_PREFIX.rrdtool}
.include "../../databases/rrdtool/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -5,9 +5,9 @@ COLLECTD_PACKAGE= snmp
COMMENT= Statistics collection daemon - snmp plugin
PKGREVISION= 3
.include "../../net/net-snmp/buildlink3.mk"
COLLECTD_LIB.netsnmp= ${BUILDLINK_PREFIX.net-snmp}/bin/net-snmp-config
.include "../../wip/collectd/Makefile.common"
CONFIGURE_ARGS+= --with-libnetsnmp=${BUILDLINK_PREFIX.net-snmp}/bin/net-snmp-config
.include "../../net/net-snmp/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -5,8 +5,10 @@ COLLECTD_PACKAGE= write_prometheus
COMMENT= Statistics collection daemon - write_prometheus plugin
PKGREVISION= 7
#.include "../../devel/protobuf-c/buildlink3.mk"
.include "../../www/libmicrohttpd/buildlink3.mk"
COLLECTD_LIB.microhttpd=${BUILDLINK_PREFIX.libmicrohttpd}
.include "../../wip/collectd/Makefile.common"
.include "../../devel/protobuf-c/buildlink3.mk"
.include "../../www/libmicrohttpd/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

View File

@ -54,19 +54,24 @@ GENERATE_PLIST+= ${ECHO} "lib/collectd/${plugin}.la";
BUILD_DEFS+= VARBASE
# Disable all libs support by default
DISABLED_LIBS= aquaero5 hiredis curl dbi esmtp ganglia gcrypt \
# special case for grpc++ below
COLLECTD_LIBS= aquaero5 hiredis curl dbi esmtp ganglia gcrypt \
iptc lvm2app memcached mnl modbus mongoc mysql \
netsnmp oping owcapi pcap perl pq python \
rabbitmq routeros rrd sensors statgrab \
tokyotyrant upsclient varnish xmms yajl
DISABLED_LIBS+= atasmart dpdk gps iptc jevents ldap microhttpd mosquitto netapp netsnmpagent pqos protobuf protobuf-c rdkafka udev xenctrl
COLLECTD_LIBS+= atasmart dpdk gps iptc jevents ldap microhttpd mosquitto netapp netsnmpagent pqos protobuf protobuf-c rdkafka udev xenctrl
CONFIGURE_ARGS+= --with-java=no --with-mic=no --with-oracle=no \
--with-perl-bindings=no \
--disable-all-plugins
.for lib in ${DISABLED_LIBS}
CONFIGURE_ARGS+= --with-lib${lib}=no
.for lib in ${COLLECTD_LIBS}
CONFIGURE_ARGS+= --with-lib${lib}=${COLLECTD_LIB.${lib}:Uno}
.endfor
# can't use ENABLE_LIB.grpc++ as a variable name
CONFIGURE_ARGS+= --with-libgrpc++=${COLLECTD_LIB.grpcpp:Uno}
CONFIGURE_ARGS+= --disable-werror
CONFIGURE_ARGS+= --localstatedir=${VARBASE}