utils/collectd: Re-add option to enable encrypted network output

The collectd network plugin has the ability to sign and/or encrypt its
traffic, allowing secure interaction with other collectd instances. This
had been disabled due to issues with the collectd build system.
Fix up the configure parameters to work correctly and re-add the option.

Signed-off-by: Jonathan McDowell <noodles@earth.li>
This commit is contained in:
Jonathan McDowell 2018-01-17 19:34:15 +00:00
parent f714c9071d
commit 4ba4d8232d

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=collectd
PKG_VERSION:=5.8.0
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://collectd.org/files/ \
@ -203,6 +203,14 @@ define Package/collectd/description
and provides mechanismns to store the values in a variety of ways.
endef
define Package/collectd/config
config PACKAGE_COLLECTD_ENCRYPTED_NETWORK
bool "Enable ability to use encrypted networking"
default n
depends on PACKAGE_collectd
select PACKAGE_collectd-mod-network
endef
ifneq ($(CONFIG_avr32),)
TARGET_CFLAGS += -fsigned-char
endif
@ -214,7 +222,6 @@ CONFIGURE_ARGS+= \
--enable-daemon \
--with-nan-emulation \
--with-libyajl=no \
--without-libgcrypt \
--without-perl-bindings \
--without-libudev
@ -223,6 +230,16 @@ CONFIGURE_VARS+= \
LDFLAGS="$$$$LDFLAGS -lm -lz" \
KERNEL_DIR="$(LINUX_DIR)" \
ifneq ($(CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK),)
CONFIGURE_ARGS+= \
--with-libgcrypt=$(STAGING_DIR)/usr
CONFIGURE_VARS+= \
GCRYPT_LIBS="-lgcrypt"
else
CONFIGURE_ARGS+= \
--without-libgcrypt
endif
CONFIGURE_PLUGIN= \
$(foreach m, $(1), \
$(if $(CONFIG_PACKAGE_collectd-mod-$(subst _,-,$(m))),--enable-$(m),--disable-$(m)) \
@ -353,7 +370,7 @@ $(eval $(call BuildPlugin,match-value,value match,match_value,))
$(eval $(call BuildPlugin,memory,physical memory usage input,memory,))
$(eval $(call BuildPlugin,modbus,read variables through libmodbus,modbus,+PACKAGE_collectd-mod-modbus:libmodbus))
$(eval $(call BuildPlugin,netlink,netlink input,netlink,+PACKAGE_collectd-mod-netlink:libmnl))
$(eval $(call BuildPlugin,network,network input/output,network,))
$(eval $(call BuildPlugin,network,network input/output,network,+PACKAGE_COLLECTD_ENCRYPTED_NETWORK:libgcrypt))
$(eval $(call BuildPlugin,nginx,nginx status input,nginx,+PACKAGE_collectd-mod-nginx:libcurl))
$(eval $(call BuildPlugin,ntpd,NTP daemon status input,ntpd,))
$(eval $(call BuildPlugin,nut,UPS monitoring input,nut,+PACKAGE_collectd-mod-nut:nut-common))