+#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
include $(TOPDIR)/rules.mk
PKG_NAME:=collectd
-PKG_VERSION:=3.5.1
+PKG_VERSION:=4.4.1
PKG_RELEASE:=1
-PKG_MD5SUM:=46a4b81e46d3bb58faab1d603649d737
-PKG_SOURCE_URL:=http://verplant.org/collectd/files
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_CAT:=zcat
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=http://collectd.org/files/
+PKG_MD5SUM:=176880c32a06bee9d5e6e2e7c76751a3
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
TITLE:=Lightweight system statistics collection daemon
- DESCRIPTION:=Lightweight system statistics collection daemon
URL:=http://verplant.org/collectd/
endef
-define Build/Compile
- $(call Build/Configure/Default,--enable-shared \
- --disable-static \
- --disable-debug \
- --enable-cpu \
- --enable-load \
- --enable-memory \
- --enable-ping \
- --enable-traffic \
- --disable-cpufreq \
- --disable-disk \
- --disable-hddtemp \
- --disable-nfs \
- --disable-processes \
- --disable-sensors \
- --disable-serial \
- --disable-swap \
- --disable-tape \
- --disable-users \
- )
+define Package/collectd/description
+ collectd is a small daemon which collects system information periodically
+ 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 +iptables
+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
+
+define Build/Configure
endef
define Build/Compile
- $(MAKE) -C $(PKG_BUILD_DIR)
- mkdir -p $(PKG_INSTALL_DIR)
- $(MAKE) -C $(PKG_BUILD_DIR) \
- DESTDIR="$(PKG_INSTALL_DIR)" \
- install
+ -$(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 \
+ --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
+ ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool1),)
+ PKG_CONFIGURE_OPTS += --with-rrdtool=$(wildcard $(BUILD_DIR)/rrdtool-1.0.*)
+ else
+ PKG_CONFIGURE_OPTS += --with-rrdtool=$(wildcard $(BUILD_DIR)/rrdtool-1.2.*)
+ endif
+endif
+
+
+MAKE_FLAGS += \
+ DESTDIR="$(PKG_INSTALL_DIR)" \
+ all install
+
define Package/collectd/install
- install -d -m0755 $(1)/etc/init.d
- install -d -m0755 $(1)/usr/sbin
- install -d -m0755 $(1)/usr/lib/collectd
- install -d -m0755 $(1)/var/lib/collectd
- install -d -m0755 $(1)/var/run
- install -m0755 ./files/collectd.init $(1)/etc/init.d/collectd
- $(CP) $(PKG_INSTALL_DIR)/usr/sbin/collectd $(1)/usr/sbin/
- $(CP) $(PKG_INSTALL_DIR)/usr/lib/collectd/*.so $(1)/usr/lib/collectd/
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/collectd $(1)/usr/sbin/
+ $(INSTALL_DIR) $(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))