2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://collectd.org/files/
16 PKG_MD5SUM:=9e0e89150b1ff28fc0fdd8a198c9ac5e
20 include $(INCLUDE_DIR)/package.mk
21 include $(INCLUDE_DIR)/kernel.mk
23 define Package/collectd/common_info
26 TITLE:=Lightweight system statistics collection daemon
27 URL:=http://verplant.org/collectd/
30 define Package/collectd/description
31 collectd is a small daemon which collects system information periodically
32 and provides mechanismns to store the values in a variety of ways.
35 define Package/collectd
36 $(call Package/collectd/common_info)
37 DEPENDS:=+libgcc +libpthread +libz
45 define Package/collectd-mod-csv
46 $(call Package/collectd/common_info)
47 TITLE:=collectd - csv output plugin
51 define Package/collectd-mod-email
52 $(call Package/collectd/common_info)
53 TITLE:=collectd - email output plugin
57 define Package/collectd-mod-logfile
58 $(call Package/collectd/common_info)
59 TITLE:=collectd - logfile output plugin
63 define Package/collectd-mod-network
64 $(call Package/collectd/common_info)
65 TITLE:=collectd - network input/output plugin
69 define Package/collectd-mod-syslog
70 $(call Package/collectd/common_info)
71 TITLE:=collectd - syslog output plugin
75 define Package/collectd-mod-unixsock
76 $(call Package/collectd/common_info)
77 TITLE:=collectd - unix socket output plugin
85 define Package/collectd-mod-apache
86 $(call Package/collectd/common_info)
87 TITLE:=collectd - apache status input plugin
88 DEPENDS:=collectd +libcurl
91 define Package/collectd-mod-apcups
92 $(call Package/collectd/common_info)
93 TITLE:=collectd - apcups status input plugin
97 define Package/collectd-mod-ascent
98 $(call Package/collectd/common_info)
99 TITLE:=collectd - ascent status input plugin
100 DEPENDS:=collectd +libcurl +libxml2
103 define Package/collectd-mod-cpu
104 $(call Package/collectd/common_info)
105 TITLE:=collectd - cpu input plugin
109 define Package/collectd-mod-df
110 $(call Package/collectd/common_info)
111 TITLE:=collectd - disk space input plugin
115 define Package/collectd-mod-disk
116 $(call Package/collectd/common_info)
117 TITLE:=collectd - disk usage/timing input plugin
121 define Package/collectd-mod-dns
122 $(call Package/collectd/common_info)
123 TITLE:=collectd - dns traffic input plugin
124 DEPENDS:=collectd +libpcap
127 define Package/collectd-mod-exec
128 $(call Package/collectd/common_info)
129 TITLE:=collectd - process exec input plugin
133 define Package/collectd-mod-interface
134 $(call Package/collectd/common_info)
135 TITLE:=collectd - network interfaces input plugin
139 define Package/collectd-mod-iptables
140 $(call Package/collectd/common_info)
141 TITLE:=collectd - iptables status input plugin
142 DEPENDS:=collectd +iptables
145 define Package/collectd-mod-irq
146 $(call Package/collectd/common_info)
147 TITLE:=collectd - interrupt usage input plugin
151 define Package/collectd-mod-load
152 $(call Package/collectd/common_info)
153 TITLE:=collectd - system load input plugin
157 define Package/collectd-mod-netlink
158 $(call Package/collectd/common_info)
159 TITLE:=collectd - netlink input plugin (uses iproute2)
160 DEPENDS:=collectd +ip
163 define Package/collectd-mod-nginx
164 $(call Package/collectd/common_info)
165 TITLE:=collectd - nginx status input plugin
166 DEPENDS:=collectd +libcurl
169 define Package/collectd-mod-ntpd
170 $(call Package/collectd/common_info)
171 TITLE:=collectd - ntp daemon status input plugin
175 define Package/collectd-mod-nut
176 $(call Package/collectd/common_info)
177 TITLE:=collectd - UPS monitoring input plugin
178 DEPENDS:=collectd @BROKEN
181 define Package/collectd-mod-ping
182 $(call Package/collectd/common_info)
183 TITLE:=collectd - ping status input plugin
187 define Package/collectd-mod-powerdns
188 $(call Package/collectd/common_info)
189 TITLE:=collectd - powerdns server status input plugin
193 define Package/collectd-mod-processes
194 $(call Package/collectd/common_info)
195 TITLE:=collectd - process status plugin
200 define Package/collectd-mod-rrdtool1
201 $(call Package/collectd/common_info)
202 TITLE:=collectd - rrdtool 1.0.x output plugin
203 DEPENDS:=collectd +librrd1
206 define Package/collectd-mod-sensors
207 $(call Package/collectd/common_info)
208 TITLE:=collectd - lm_sensors input plugin
209 DEPENDS:=collectd +libsensors @BROKEN
212 define Package/collectd-mod-snmp
213 $(call Package/collectd/common_info)
214 TITLE:=collectd - snmp input plugin
215 DEPENDS:=collectd +libnetsnmp
218 define Package/collectd-mod-tail
219 $(call Package/collectd/common_info)
220 TITLE:=collectd - tail input plugin
224 define Package/collectd-mod-teamspeak2
225 $(call Package/collectd/common_info)
226 TITLE:=collectd - teamspeak2 input plugin
230 define Package/collectd-mod-tcpconns
231 $(call Package/collectd/common_info)
232 TITLE:=collectd - tcp connection tracking input plugin
236 define Package/collectd-mod-users
237 $(call Package/collectd/common_info)
238 TITLE:=collectd - user login status input plugin
242 define Package/collectd-mod-vmem
243 $(call Package/collectd/common_info)
244 TITLE:=collectd - virtual memory usage input plugin
248 define Package/collectd-mod-wireless
249 $(call Package/collectd/common_info)
250 TITLE:=collectd - wireless status input plugin
255 define Package/collectd/conffiles
259 define Build/Configure
263 -$(MAKE) -C $(PKG_BUILD_DIR) clean
264 $(call Build/Configure/Default, $(PKG_CONFIGURE_OPTS))
265 $(call Build/Compile/Default)
270 # Build PKG_CONFIGURE_OPTS
273 # common configure args
274 PKG_CONFIGURE_OPTS:= \
277 --enable-getifaddrs \
278 --with-nan-emulation \
279 --with-fp-layout=nothing
282 CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2 $$$$CPPFLAGS $(FPIC)" \
283 KERNEL_DIR="$(LINUX_DIR)"
285 # list of permanently disabled plugins
286 disabled_plugins := apple_sensors battery cpufreq entropy hddtemp ipmi ipvs libvirt mbmon memcached \
287 multimeter mysql nfs perl serial swap tape uuid vserver xmms
289 # list of selectable plugins
290 selectable_plugins := apache apcups ascent cpu csv df disk dns email exec interface iptables irq load \
291 logfile memory netlink network nginx ntpd nut ping powerdns processes sensors \
292 snmp syslog tail tcpconns teamspeak2 unixsock users vmem wireless
294 # makro to enable / disable plugin
296 ifneq ($$(CONFIG_PACKAGE_collectd-mod-$(1)),)
297 PKG_CONFIGURE_OPTS += --enable-$(1)
299 PKG_CONFIGURE_OPTS += --disable-$(1)
303 # build args for permanently disabled plugins
304 PKG_CONFIGURE_OPTS += $(foreach plugin,$(disabled_plugins),--disable-$(plugin))
306 # build args for selectable plugins
307 $(foreach plugin,$(selectable_plugins),$(eval $(call enable_plugin,$(plugin))))
309 # exception: mod-netlink needs iproute2
310 ifneq ($(CONFIG_PACKAGE_collectd-mod-netlink),)
311 PKG_CONFIGURE_OPTS += --with-libnetlink=$(wildcard $(BUILD_DIR)/iproute2-*)
314 # exception: mod-rrdtool(1) needs rrdtool
315 ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool1),)
316 PKG_CONFIGURE_OPTS += --with-rrdtool=$(wildcard $(BUILD_DIR)/rrdtool-1.0.*)
317 TARGET_LDFLAGS := -L$(wildcard $(BUILD_DIR)/rrdtool-1.0.*)/src/.libs -lz -lm $(TARGET_LDFLAGS)
322 DESTDIR="$(PKG_INSTALL_DIR)" \
325 define Package/collectd/install
326 $(INSTALL_DIR) $(1)/usr/sbin
327 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/collectd $(1)/usr/sbin/
328 $(INSTALL_DIR) $(1)/usr/lib/collectd
329 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/lib/collectd/types.db $(1)/usr/lib/collectd/
330 $(INSTALL_DIR) $(1)/etc
331 $(INSTALL_CONF) ./files/collectd.conf $(1)/etc/
332 $(INSTALL_DIR) $(1)/etc/init.d
333 $(INSTALL_BIN) ./files/collectd.init $(1)/etc/init.d/collectd
336 define Package/collectd-mod-apache/install
337 $(INSTALL_DIR) $(1)/usr/lib/collectd
338 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apache.so $(1)/usr/lib/collectd/
341 define Package/collectd-mod-apcups/install
342 $(INSTALL_DIR) $(1)/usr/lib/collectd
343 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apcups.so $(1)/usr/lib/collectd/
346 define Package/collectd-mod-ascent/install
347 $(INSTALL_DIR) $(1)/usr/lib/collectd
348 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ascent.so $(1)/usr/lib/collectd/
351 define Package/collectd-mod-cpu/install
352 $(INSTALL_DIR) $(1)/usr/lib/collectd
353 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/cpu.so $(1)/usr/lib/collectd/
356 define Package/collectd-mod-csv/install
357 $(INSTALL_DIR) $(1)/usr/lib/collectd
358 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/csv.so $(1)/usr/lib/collectd/
361 define Package/collectd-mod-df/install
362 $(INSTALL_DIR) $(1)/usr/lib/collectd
363 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/df.so $(1)/usr/lib/collectd/
366 define Package/collectd-mod-disk/install
367 $(INSTALL_DIR) $(1)/usr/lib/collectd
368 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/disk.so $(1)/usr/lib/collectd/
371 define Package/collectd-mod-dns/install
372 $(INSTALL_DIR) $(1)/usr/lib/collectd
373 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/dns.so $(1)/usr/lib/collectd/
376 define Package/collectd-mod-email/install
377 $(INSTALL_DIR) $(1)/usr/lib/collectd
378 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/email.so $(1)/usr/lib/collectd/
381 define Package/collectd-mod-exec/install
382 $(INSTALL_DIR) $(1)/usr/lib/collectd
383 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/exec.so $(1)/usr/lib/collectd/
386 define Package/collectd-mod-interface/install
387 $(INSTALL_DIR) $(1)/usr/lib/collectd
388 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/interface.so $(1)/usr/lib/collectd/
391 define Package/collectd-mod-iptables/install
392 $(INSTALL_DIR) $(1)/usr/lib/collectd
393 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/iptables.so $(1)/usr/lib/collectd/
396 define Package/collectd-mod-irq/install
397 $(INSTALL_DIR) $(1)/usr/lib/collectd
398 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/irq.so $(1)/usr/lib/collectd/
401 define Package/collectd-mod-load/install
402 $(INSTALL_DIR) $(1)/usr/lib/collectd
403 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/load.so $(1)/usr/lib/collectd/
406 define Package/collectd-mod-logfile/install
407 $(INSTALL_DIR) $(1)/usr/lib/collectd
408 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/logfile.so $(1)/usr/lib/collectd/
411 define Package/collectd-mod-netlink/install
412 $(INSTALL_DIR) $(1)/usr/lib/collectd
413 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/netlink.so $(1)/usr/lib/collectd/
416 define Package/collectd-mod-network/install
417 $(INSTALL_DIR) $(1)/usr/lib/collectd
418 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/network.so $(1)/usr/lib/collectd/
421 define Package/collectd-mod-nginx/install
422 $(INSTALL_DIR) $(1)/usr/lib/collectd
423 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/nginx.so $(1)/usr/lib/collectd/
426 define Package/collectd-mod-ntpd/install
427 $(INSTALL_DIR) $(1)/usr/lib/collectd
428 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ntpd.so $(1)/usr/lib/collectd/
431 define Package/collectd-mod-nut/install
432 $(INSTALL_DIR) $(1)/usr/lib/collectd
433 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/nut.so $(1)/usr/lib/collectd/
436 define Package/collectd-mod-ping/install
437 $(INSTALL_DIR) $(1)/usr/lib/collectd
438 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ping.so $(1)/usr/lib/collectd/
441 define Package/collectd-mod-powerdns/install
442 $(INSTALL_DIR) $(1)/usr/lib/collectd
443 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/powerdns.so $(1)/usr/lib/collectd/
446 define Package/collectd-mod-processes/install
447 $(INSTALL_DIR) $(1)/usr/lib/collectd
448 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/processes.so $(1)/usr/lib/collectd/
451 define Package/collectd-mod-rrdtool1/install
452 $(INSTALL_DIR) $(1)/usr/lib/collectd
453 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/rrdtool.so $(1)/usr/lib/collectd/
456 define Package/collectd-mod-sensors/install
457 $(INSTALL_DIR) $(1)/usr/lib/collectd
458 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/sensors.so $(1)/usr/lib/collectd/
461 define Package/collectd-mod-snmp/install
462 $(INSTALL_DIR) $(1)/usr/lib/collectd
463 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/snmp.so $(1)/usr/lib/collectd/
466 define Package/collectd-mod-syslog/install
467 $(INSTALL_DIR) $(1)/usr/lib/collectd
468 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/syslog.so $(1)/usr/lib/collectd/
471 define Package/collectd-mod-tail/install
472 $(INSTALL_DIR) $(1)/usr/lib/collectd
473 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tail.so $(1)/usr/lib/collectd/
476 define Package/collectd-mod-teamspeak2/install
477 $(INSTALL_DIR) $(1)/usr/lib/collectd
478 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/teamspeak2.so $(1)/usr/lib/collectd/
481 define Package/collectd-mod-tcpconns/install
482 $(INSTALL_DIR) $(1)/usr/lib/collectd
483 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tcpconns.so $(1)/usr/lib/collectd/
486 define Package/collectd-mod-unixsock/install
487 $(INSTALL_DIR) $(1)/usr/lib/collectd
488 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/unixsock.so $(1)/usr/lib/collectd/
491 define Package/collectd-mod-users/install
492 $(INSTALL_DIR) $(1)/usr/lib/collectd
493 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/users.so $(1)/usr/lib/collectd/
496 define Package/collectd-mod-vmem/install
497 $(INSTALL_DIR) $(1)/usr/lib/collectd
498 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/vmem.so $(1)/usr/lib/collectd/
501 define Package/collectd-mod-wireless/install
502 $(INSTALL_DIR) $(1)/usr/lib/collectd
503 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/wireless.so $(1)/usr/lib/collectd/
507 $(eval $(call BuildPackage,collectd))
508 $(eval $(call BuildPackage,collectd-mod-apache))
509 $(eval $(call BuildPackage,collectd-mod-apcups))
510 $(eval $(call BuildPackage,collectd-mod-ascent))
511 $(eval $(call BuildPackage,collectd-mod-cpu))
512 $(eval $(call BuildPackage,collectd-mod-csv))
513 $(eval $(call BuildPackage,collectd-mod-df))
514 $(eval $(call BuildPackage,collectd-mod-disk))
515 $(eval $(call BuildPackage,collectd-mod-dns))
516 $(eval $(call BuildPackage,collectd-mod-email))
517 $(eval $(call BuildPackage,collectd-mod-exec))
518 $(eval $(call BuildPackage,collectd-mod-interface))
519 $(eval $(call BuildPackage,collectd-mod-iptables))
520 $(eval $(call BuildPackage,collectd-mod-irq))
521 $(eval $(call BuildPackage,collectd-mod-load))
522 $(eval $(call BuildPackage,collectd-mod-logfile))
523 $(eval $(call BuildPackage,collectd-mod-netlink))
524 $(eval $(call BuildPackage,collectd-mod-network))
525 $(eval $(call BuildPackage,collectd-mod-nginx))
526 $(eval $(call BuildPackage,collectd-mod-ntpd))
527 $(eval $(call BuildPackage,collectd-mod-nut))
528 $(eval $(call BuildPackage,collectd-mod-ping))
529 $(eval $(call BuildPackage,collectd-mod-powerdns))
530 $(eval $(call BuildPackage,collectd-mod-processes))
531 $(eval $(call BuildPackage,collectd-mod-rrdtool1))
532 $(eval $(call BuildPackage,collectd-mod-sensors))
533 $(eval $(call BuildPackage,collectd-mod-snmp))
534 $(eval $(call BuildPackage,collectd-mod-syslog))
535 $(eval $(call BuildPackage,collectd-mod-tail))
536 $(eval $(call BuildPackage,collectd-mod-teamspeak2))
537 $(eval $(call BuildPackage,collectd-mod-tcpconns))
538 $(eval $(call BuildPackage,collectd-mod-unixsock))
539 $(eval $(call BuildPackage,collectd-mod-users))
540 $(eval $(call BuildPackage,collectd-mod-vmem))
541 $(eval $(call BuildPackage,collectd-mod-wireless))