include $(TOPDIR)/rules.mk
PKG_NAME:=collectd
-PKG_VERSION:=4.2.0
-PKG_RELEASE:=2
+PKG_VERSION:=4.4.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://collectd.org/files/
-PKG_MD5SUM:=ed1f41f86ad61bd7096ee5386ab33fd0
+PKG_MD5SUM:=76ec42bf1976c1d4110443d845decca3
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(INCLUDE_DIR)/package.mk
-define Package/collectd
+define Package/collectd/common_info
SECTION:=utils
CATEGORY:=Utilities
- DEPENDS=+libgcc +libpthread
TITLE:=Lightweight system statistics collection daemon
URL:=http://verplant.org/collectd/
endef
and provides mechanismns to store the values in a variety of ways.
endef
+define Package/collectd
+ $(call Package/collectd/common_info)
+ DEPENDS:=+libgcc +libpthread
+ MENU:=1
+endef
+
+
+#
+# output plugins
+#
+define Package/collectd-mod-csv
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - csv output plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-email
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - email output plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-logfile
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - logfile output plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-network
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - network input/output plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-syslog
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - syslog output plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-unixsock
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - unix socket output plugin
+ DEPENDS:=collectd
+endef
+
+
+#
+# input plugins
+#
+define Package/collectd-mod-apache
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - apache status input plugin
+ DEPENDS:=collectd +libcurl
+endef
+
+define Package/collectd-mod-apcups
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - apcups status input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-ascent
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - ascent status input plugin
+ DEPENDS:=collectd +libcurl +libxml2
+endef
+
+define Package/collectd-mod-cpu
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - cpu input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-df
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - disk space input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-disk
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - disk usage/timing input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-dns
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - dns traffic input plugin
+ DEPENDS:=collectd +libpcap
+endef
+
+define Package/collectd-mod-exec
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - process exec input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-interface
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - network interfaces input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-iptables
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - iptables status input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-irq
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - interrupt usage input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-load
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - system load input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-netlink
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - netlink input plugin (uses iproute2)
+ DEPENDS:=collectd +ip
+endef
+
+define Package/collectd-mod-nginx
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - nginx status input plugin
+ DEPENDS:=collectd +libcurl
+endef
+
+define Package/collectd-mod-ntpd
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - ntp daemon status input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-ping
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - ping status input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-powerdns
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - powerdns server status input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-processes
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - process status plugin
+ DEPENDS:=collectd
+endef
+
+
+define Package/collectd-mod-rrdtool1
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - rrdtool 1.0.x output plugin
+ DEPENDS:=collectd +librrd1
+endef
+
+define Package/collectd-mod-rrdtool
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - rrdtool 1.2.x output plugin
+ DEPENDS:=collectd +librrd
+endef
+
+define Package/collectd-mod-snmp
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - snmp input plugin
+ DEPENDS:=collectd +libnetsnmp
+endef
+
+define Package/collectd-mod-tail
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - tail input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-teamspeak2
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - teamspeak2 input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-tcpconns
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - tcp connection tracking input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-users
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - user login status input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-vmem
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - virtual memory usage input plugin
+ DEPENDS:=collectd
+endef
+
+define Package/collectd-mod-wireless
+ $(call Package/collectd/common_info)
+ TITLE:=collectd - wireless status input plugin
+ DEPENDS:=collectd
+endef
+
+
define Package/collectd/conffiles
/etc/collectd.conf
endef
-CONFIGURE_ARGS += \
+define Build/Configure
+endef
+
+define Build/Compile
+ -$(MAKE) -C $(PKG_BUILD_DIR) clean
+ $(call Build/Configure/Default, $(PKG_CONFIGURE_OPTS))
+ $(call Build/Compile/Default)
+endef
+
+
+#
+# Build PKG_CONFIGURE_OPTS
+#
+
+# common configure args
+PKG_CONFIGURE_OPTS:= \
--disable-debug \
--enable-daemon \
--enable-getifaddrs \
- --disable-apache \
- --disable-apcups \
- --disable-apple_sensors \
- --disable-battery \
- --enable-cpu \
- --disable-cpufreq \
- --enable-disk \
- --enable-df \
- --disable-dns \
- --disable-email \
- --disable-quota \
- --disable-hddtemp \
- --enable-load \
- --disable-mbmon \
- --enable-memory \
- --disable-multimeter \
- --disable-mysql \
- --disable-nfs \
- --disable-ntpd \
- --enable-ping \
- --enable-processes \
- --disable-sensors \
- --enable-serial \
- --disable-swap \
- --disable-tape \
- --enable-traffic \
- --disable-users \
- --disable-vserver \
- --enable-wireless \
- --with-nan-emulation
+ --with-nan-emulation \
+ --with-fp-layout=nothing
+
+# list of permanently disabled plugins
+disabled_plugins := apple_sensors battery cpufreq entropy hddtemp ipmi ipvs libvirt mbmon memcached \
+ multimeter mysql nfs nut perl sensors serial swap tape uuid vserver xmms
+
+# list of selectable plugins
+selectable_plugins := apache apcups ascent cpu csv df disk dns email exec interface iptables irq load \
+ logfile memory netlink network nginx ntpd ping powerdns processes snmp \
+ syslog tail tcpconns teamspeak2 unixsock users vmem wireless
+
+# makro to enable / disable plugin
+define enable_plugin
+ ifneq ($$(CONFIG_PACKAGE_collectd-mod-$(1)),)
+ PKG_CONFIGURE_OPTS += --enable-$(1)
+ else
+ PKG_CONFIGURE_OPTS += --disable-$(1)
+ endif
+endef
+
+# build args for permanently disabled plugins
+PKG_CONFIGURE_OPTS += $(foreach plugin,$(disabled_plugins),--disable-$(plugin))
+
+# build args for selectable plugins
+$(foreach plugin,$(selectable_plugins),$(eval $(call enable_plugin,$(plugin))))
+
+# exception: mod-netlink needs iproute2
+ifneq ($(CONFIG_PACKAGE_collectd-mod-netlink),)
+ PKG_CONFIGURE_OPTS += --with-libnetlink=$(wildcard $(BUILD_DIR)/iproute2-*)
+endif
+
+# exception: mod-rrdtool(1) needs rrdtool
+ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool1)$(CONFIG_PACKAGE_collectd-mod-rrdtool),)
+ PKG_CONFIGURE_OPTS += --enable-rrdtool
+endif
+
MAKE_FLAGS += \
DESTDIR="$(PKG_INSTALL_DIR)" \
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/collectd $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/usr/lib/collectd
- $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/*.so $(1)/usr/lib/collectd/
+ $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/lib/collectd/types.db $(1)/usr/lib/collectd/
$(INSTALL_DIR) $(1)/etc
$(INSTALL_CONF) ./files/collectd.conf $(1)/etc/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/collectd.init $(1)/etc/init.d/collectd
endef
+define Package/collectd-mod-apache/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apache.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-apcups/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apcups.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-ascent/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ascent.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-cpu/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/cpu.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-csv/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/csv.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-df/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/df.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-disk/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/disk.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-dns/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/dns.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-email/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/email.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-exec/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/exec.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-interface/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/interface.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-iptables/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/iptables.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-irq/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/irq.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-load/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/load.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-logfile/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/logfile.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-netlink/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/netlink.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-network/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/network.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-nginx/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/nginx.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-ntpd/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ntpd.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-ping/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ping.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-powerdns/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/powerdns.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-processes/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/processes.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-rrdtool1/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/rrdtool.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-rrdtool/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/rrdtool.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-snmp/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/snmp.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-syslog/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/syslog.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-tail/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tail.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-teamspeak2/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/teamspeak2.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-tcpconns/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tcpconns.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-unixsock/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/unixsock.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-users/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/users.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-vmem/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/vmem.so $(1)/usr/lib/collectd/
+endef
+
+define Package/collectd-mod-wireless/install
+ $(INSTALL_DIR) $(1)/usr/lib/collectd
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/wireless.so $(1)/usr/lib/collectd/
+endef
+
+
$(eval $(call BuildPackage,collectd))
+$(eval $(call BuildPackage,collectd-mod-apache))
+$(eval $(call BuildPackage,collectd-mod-apcups))
+$(eval $(call BuildPackage,collectd-mod-ascent))
+$(eval $(call BuildPackage,collectd-mod-cpu))
+$(eval $(call BuildPackage,collectd-mod-csv))
+$(eval $(call BuildPackage,collectd-mod-df))
+$(eval $(call BuildPackage,collectd-mod-disk))
+$(eval $(call BuildPackage,collectd-mod-dns))
+$(eval $(call BuildPackage,collectd-mod-email))
+$(eval $(call BuildPackage,collectd-mod-exec))
+$(eval $(call BuildPackage,collectd-mod-interface))
+$(eval $(call BuildPackage,collectd-mod-iptables))
+$(eval $(call BuildPackage,collectd-mod-irq))
+$(eval $(call BuildPackage,collectd-mod-load))
+$(eval $(call BuildPackage,collectd-mod-logfile))
+$(eval $(call BuildPackage,collectd-mod-netlink))
+$(eval $(call BuildPackage,collectd-mod-network))
+$(eval $(call BuildPackage,collectd-mod-nginx))
+$(eval $(call BuildPackage,collectd-mod-ntpd))
+$(eval $(call BuildPackage,collectd-mod-ping))
+$(eval $(call BuildPackage,collectd-mod-powerdns))
+$(eval $(call BuildPackage,collectd-mod-processes))
+$(eval $(call BuildPackage,collectd-mod-rrdtool1))
+$(eval $(call BuildPackage,collectd-mod-rrdtool))
+$(eval $(call BuildPackage,collectd-mod-snmp))
+$(eval $(call BuildPackage,collectd-mod-syslog))
+$(eval $(call BuildPackage,collectd-mod-tail))
+$(eval $(call BuildPackage,collectd-mod-teamspeak2))
+$(eval $(call BuildPackage,collectd-mod-tcpconns))
+$(eval $(call BuildPackage,collectd-mod-unixsock))
+$(eval $(call BuildPackage,collectd-mod-users))
+$(eval $(call BuildPackage,collectd-mod-vmem))
+$(eval $(call BuildPackage,collectd-mod-wireless))