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.
9 include $(TOPDIR)/rules.mk
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
16 PKG_SOURCE_URL:=http://collectd.org/files/
17 PKG_MD5SUM:=9e0e89150b1ff28fc0fdd8a198c9ac5e
20 PKG_BUILD_DEPENDS:=+libxml2 +libnetsnmp +libcurl +librrd1
22 include $(INCLUDE_DIR)/package.mk
23 include $(INCLUDE_DIR)/kernel.mk
25 define Package/collectd/common_info
28 TITLE:=Lightweight system statistics collection daemon
29 URL:=http://verplant.org/collectd/
32 define Package/collectd/description
33 collectd is a small daemon which collects system information periodically
34 and provides mechanismns to store the values in a variety of ways.
37 define Package/collectd
38 $(call Package/collectd/common_info)
39 DEPENDS:=+libgcc +libpthread
47 define Package/collectd-mod-csv
48 $(call Package/collectd/common_info)
49 TITLE:=collectd - csv output plugin
53 define Package/collectd-mod-email
54 $(call Package/collectd/common_info)
55 TITLE:=collectd - email output plugin
59 define Package/collectd-mod-logfile
60 $(call Package/collectd/common_info)
61 TITLE:=collectd - logfile output plugin
65 define Package/collectd-mod-network
66 $(call Package/collectd/common_info)
67 TITLE:=collectd - network input/output plugin
71 define Package/collectd-mod-syslog
72 $(call Package/collectd/common_info)
73 TITLE:=collectd - syslog output plugin
77 define Package/collectd-mod-unixsock
78 $(call Package/collectd/common_info)
79 TITLE:=collectd - unix socket output plugin
87 define Package/collectd-mod-apache
88 $(call Package/collectd/common_info)
89 TITLE:=collectd - apache status input plugin
90 DEPENDS:=collectd +libcurl
93 define Package/collectd-mod-apcups
94 $(call Package/collectd/common_info)
95 TITLE:=collectd - apcups status input plugin
99 define Package/collectd-mod-ascent
100 $(call Package/collectd/common_info)
101 TITLE:=collectd - ascent status input plugin
102 DEPENDS:=collectd +libcurl +libxml2
105 define Package/collectd-mod-cpu
106 $(call Package/collectd/common_info)
107 TITLE:=collectd - cpu input plugin
111 define Package/collectd-mod-df
112 $(call Package/collectd/common_info)
113 TITLE:=collectd - disk space input plugin
117 define Package/collectd-mod-disk
118 $(call Package/collectd/common_info)
119 TITLE:=collectd - disk usage/timing input plugin
123 define Package/collectd-mod-dns
124 $(call Package/collectd/common_info)
125 TITLE:=collectd - dns traffic input plugin
126 DEPENDS:=collectd +libpcap
129 define Package/collectd-mod-exec
130 $(call Package/collectd/common_info)
131 TITLE:=collectd - process exec input plugin
135 define Package/collectd-mod-interface
136 $(call Package/collectd/common_info)
137 TITLE:=collectd - network interfaces input plugin
141 define Package/collectd-mod-iptables
142 $(call Package/collectd/common_info)
143 TITLE:=collectd - iptables status input plugin
144 DEPENDS:=collectd +iptables
147 define Package/collectd-mod-irq
148 $(call Package/collectd/common_info)
149 TITLE:=collectd - interrupt usage input plugin
153 define Package/collectd-mod-load
154 $(call Package/collectd/common_info)
155 TITLE:=collectd - system load input plugin
159 define Package/collectd-mod-netlink
160 $(call Package/collectd/common_info)
161 TITLE:=collectd - netlink input plugin (uses iproute2)
162 DEPENDS:=collectd +ip
165 define Package/collectd-mod-nginx
166 $(call Package/collectd/common_info)
167 TITLE:=collectd - nginx status input plugin
168 DEPENDS:=collectd +libcurl
171 define Package/collectd-mod-ntpd
172 $(call Package/collectd/common_info)
173 TITLE:=collectd - ntp daemon status input plugin
177 define Package/collectd-mod-nut
178 $(call Package/collectd/common_info)
179 TITLE:=collectd - UPS monitoring input plugin
180 DEPENDS:=collectd @BROKEN
183 define Package/collectd-mod-ping
184 $(call Package/collectd/common_info)
185 TITLE:=collectd - ping status input plugin
189 define Package/collectd-mod-powerdns
190 $(call Package/collectd/common_info)
191 TITLE:=collectd - powerdns server status input plugin
195 define Package/collectd-mod-processes
196 $(call Package/collectd/common_info)
197 TITLE:=collectd - process status plugin
202 define Package/collectd-mod-rrdtool1
203 $(call Package/collectd/common_info)
204 TITLE:=collectd - rrdtool 1.0.x output plugin
205 DEPENDS:=collectd +librrd1
208 define Package/collectd-mod-sensors
209 $(call Package/collectd/common_info)
210 TITLE:=collectd - lm_sensors input plugin
211 DEPENDS:=collectd +libsensors @BROKEN
214 define Package/collectd-mod-snmp
215 $(call Package/collectd/common_info)
216 TITLE:=collectd - snmp input plugin
217 DEPENDS:=collectd +libnetsnmp
220 define Package/collectd-mod-tail
221 $(call Package/collectd/common_info)
222 TITLE:=collectd - tail input plugin
226 define Package/collectd-mod-teamspeak2
227 $(call Package/collectd/common_info)
228 TITLE:=collectd - teamspeak2 input plugin
232 define Package/collectd-mod-tcpconns
233 $(call Package/collectd/common_info)
234 TITLE:=collectd - tcp connection tracking input plugin
238 define Package/collectd-mod-users
239 $(call Package/collectd/common_info)
240 TITLE:=collectd - user login status input plugin
244 define Package/collectd-mod-vmem
245 $(call Package/collectd/common_info)
246 TITLE:=collectd - virtual memory usage input plugin
250 define Package/collectd-mod-wireless
251 $(call Package/collectd/common_info)
252 TITLE:=collectd - wireless status input plugin
257 define Package/collectd/conffiles
261 define Build/Configure
265 -$(MAKE) -C $(PKG_BUILD_DIR) clean
266 $(call Build/Configure/Default, $(PKG_CONFIGURE_OPTS))
267 $(call Build/Compile/Default)
272 # Build PKG_CONFIGURE_OPTS
275 # common configure args
276 PKG_CONFIGURE_OPTS:= \
279 --enable-getifaddrs \
280 --with-nan-emulation \
281 --with-fp-layout=nothing
284 CPPFLAGS="-I$(STAGING_DIR)/usr/include/libxml2 $$$$CPPFLAGS" \
285 KERNEL_DIR="$(LINUX_DIR)"
287 # list of permanently disabled plugins
288 disabled_plugins := apple_sensors battery cpufreq entropy hddtemp ipmi ipvs libvirt mbmon memcached \
289 multimeter mysql nfs perl serial swap tape uuid vserver xmms
291 # list of selectable plugins
292 selectable_plugins := apache apcups ascent cpu csv df disk dns email exec interface iptables irq load \
293 logfile memory netlink network nginx ntpd nut ping powerdns processes sensors \
294 snmp syslog tail tcpconns teamspeak2 unixsock users vmem wireless
296 # makro to enable / disable plugin
298 ifneq ($$(CONFIG_PACKAGE_collectd-mod-$(1)),)
299 PKG_CONFIGURE_OPTS += --enable-$(1)
301 PKG_CONFIGURE_OPTS += --disable-$(1)
305 # build args for permanently disabled plugins
306 PKG_CONFIGURE_OPTS += $(foreach plugin,$(disabled_plugins),--disable-$(plugin))
308 # build args for selectable plugins
309 $(foreach plugin,$(selectable_plugins),$(eval $(call enable_plugin,$(plugin))))
311 # exception: mod-netlink needs iproute2
312 ifneq ($(CONFIG_PACKAGE_collectd-mod-netlink),)
313 PKG_CONFIGURE_OPTS += --with-libnetlink=$(wildcard $(BUILD_DIR)/iproute2-*)
316 # exception: mod-rrdtool(1) needs rrdtool
317 ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool1),)
318 PKG_CONFIGURE_OPTS += --with-rrdtool=$(wildcard $(BUILD_DIR)/rrdtool-1.0.*)
319 TARGET_LDFLAGS := -L$(wildcard $(BUILD_DIR)/rrdtool-1.0.*)/src/.libs -lz $(TARGET_LDFLAGS)
324 DESTDIR="$(PKG_INSTALL_DIR)" \
327 define Package/collectd/install
328 $(INSTALL_DIR) $(1)/usr/sbin
329 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/collectd $(1)/usr/sbin/
330 $(INSTALL_DIR) $(1)/usr/lib/collectd
331 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/usr/lib/collectd/types.db $(1)/usr/lib/collectd/
332 $(INSTALL_DIR) $(1)/etc
333 $(INSTALL_CONF) ./files/collectd.conf $(1)/etc/
334 $(INSTALL_DIR) $(1)/etc/init.d
335 $(INSTALL_BIN) ./files/collectd.init $(1)/etc/init.d/collectd
338 define Package/collectd-mod-apache/install
339 $(INSTALL_DIR) $(1)/usr/lib/collectd
340 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apache.so $(1)/usr/lib/collectd/
343 define Package/collectd-mod-apcups/install
344 $(INSTALL_DIR) $(1)/usr/lib/collectd
345 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/apcups.so $(1)/usr/lib/collectd/
348 define Package/collectd-mod-ascent/install
349 $(INSTALL_DIR) $(1)/usr/lib/collectd
350 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ascent.so $(1)/usr/lib/collectd/
353 define Package/collectd-mod-cpu/install
354 $(INSTALL_DIR) $(1)/usr/lib/collectd
355 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/cpu.so $(1)/usr/lib/collectd/
358 define Package/collectd-mod-csv/install
359 $(INSTALL_DIR) $(1)/usr/lib/collectd
360 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/csv.so $(1)/usr/lib/collectd/
363 define Package/collectd-mod-df/install
364 $(INSTALL_DIR) $(1)/usr/lib/collectd
365 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/df.so $(1)/usr/lib/collectd/
368 define Package/collectd-mod-disk/install
369 $(INSTALL_DIR) $(1)/usr/lib/collectd
370 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/disk.so $(1)/usr/lib/collectd/
373 define Package/collectd-mod-dns/install
374 $(INSTALL_DIR) $(1)/usr/lib/collectd
375 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/dns.so $(1)/usr/lib/collectd/
378 define Package/collectd-mod-email/install
379 $(INSTALL_DIR) $(1)/usr/lib/collectd
380 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/email.so $(1)/usr/lib/collectd/
383 define Package/collectd-mod-exec/install
384 $(INSTALL_DIR) $(1)/usr/lib/collectd
385 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/exec.so $(1)/usr/lib/collectd/
388 define Package/collectd-mod-interface/install
389 $(INSTALL_DIR) $(1)/usr/lib/collectd
390 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/interface.so $(1)/usr/lib/collectd/
393 define Package/collectd-mod-iptables/install
394 $(INSTALL_DIR) $(1)/usr/lib/collectd
395 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/iptables.so $(1)/usr/lib/collectd/
398 define Package/collectd-mod-irq/install
399 $(INSTALL_DIR) $(1)/usr/lib/collectd
400 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/irq.so $(1)/usr/lib/collectd/
403 define Package/collectd-mod-load/install
404 $(INSTALL_DIR) $(1)/usr/lib/collectd
405 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/load.so $(1)/usr/lib/collectd/
408 define Package/collectd-mod-logfile/install
409 $(INSTALL_DIR) $(1)/usr/lib/collectd
410 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/logfile.so $(1)/usr/lib/collectd/
413 define Package/collectd-mod-netlink/install
414 $(INSTALL_DIR) $(1)/usr/lib/collectd
415 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/netlink.so $(1)/usr/lib/collectd/
418 define Package/collectd-mod-network/install
419 $(INSTALL_DIR) $(1)/usr/lib/collectd
420 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/network.so $(1)/usr/lib/collectd/
423 define Package/collectd-mod-nginx/install
424 $(INSTALL_DIR) $(1)/usr/lib/collectd
425 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/nginx.so $(1)/usr/lib/collectd/
428 define Package/collectd-mod-ntpd/install
429 $(INSTALL_DIR) $(1)/usr/lib/collectd
430 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ntpd.so $(1)/usr/lib/collectd/
433 define Package/collectd-mod-nut/install
434 $(INSTALL_DIR) $(1)/usr/lib/collectd
435 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/nut.so $(1)/usr/lib/collectd/
438 define Package/collectd-mod-ping/install
439 $(INSTALL_DIR) $(1)/usr/lib/collectd
440 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/ping.so $(1)/usr/lib/collectd/
443 define Package/collectd-mod-powerdns/install
444 $(INSTALL_DIR) $(1)/usr/lib/collectd
445 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/powerdns.so $(1)/usr/lib/collectd/
448 define Package/collectd-mod-processes/install
449 $(INSTALL_DIR) $(1)/usr/lib/collectd
450 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/processes.so $(1)/usr/lib/collectd/
453 define Package/collectd-mod-rrdtool1/install
454 $(INSTALL_DIR) $(1)/usr/lib/collectd
455 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/rrdtool.so $(1)/usr/lib/collectd/
458 define Package/collectd-mod-sensors/install
459 $(INSTALL_DIR) $(1)/usr/lib/collectd
460 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/sensors.so $(1)/usr/lib/collectd/
463 define Package/collectd-mod-snmp/install
464 $(INSTALL_DIR) $(1)/usr/lib/collectd
465 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/snmp.so $(1)/usr/lib/collectd/
468 define Package/collectd-mod-syslog/install
469 $(INSTALL_DIR) $(1)/usr/lib/collectd
470 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/syslog.so $(1)/usr/lib/collectd/
473 define Package/collectd-mod-tail/install
474 $(INSTALL_DIR) $(1)/usr/lib/collectd
475 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tail.so $(1)/usr/lib/collectd/
478 define Package/collectd-mod-teamspeak2/install
479 $(INSTALL_DIR) $(1)/usr/lib/collectd
480 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/teamspeak2.so $(1)/usr/lib/collectd/
483 define Package/collectd-mod-tcpconns/install
484 $(INSTALL_DIR) $(1)/usr/lib/collectd
485 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/tcpconns.so $(1)/usr/lib/collectd/
488 define Package/collectd-mod-unixsock/install
489 $(INSTALL_DIR) $(1)/usr/lib/collectd
490 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/unixsock.so $(1)/usr/lib/collectd/
493 define Package/collectd-mod-users/install
494 $(INSTALL_DIR) $(1)/usr/lib/collectd
495 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/users.so $(1)/usr/lib/collectd/
498 define Package/collectd-mod-vmem/install
499 $(INSTALL_DIR) $(1)/usr/lib/collectd
500 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/vmem.so $(1)/usr/lib/collectd/
503 define Package/collectd-mod-wireless/install
504 $(INSTALL_DIR) $(1)/usr/lib/collectd
505 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/collectd/wireless.so $(1)/usr/lib/collectd/
509 $(eval $(call BuildPackage,collectd))
510 $(eval $(call BuildPackage,collectd-mod-apache))
511 $(eval $(call BuildPackage,collectd-mod-apcups))
512 $(eval $(call BuildPackage,collectd-mod-ascent))
513 $(eval $(call BuildPackage,collectd-mod-cpu))
514 $(eval $(call BuildPackage,collectd-mod-csv))
515 $(eval $(call BuildPackage,collectd-mod-df))
516 $(eval $(call BuildPackage,collectd-mod-disk))
517 $(eval $(call BuildPackage,collectd-mod-dns))
518 $(eval $(call BuildPackage,collectd-mod-email))
519 $(eval $(call BuildPackage,collectd-mod-exec))
520 $(eval $(call BuildPackage,collectd-mod-interface))
521 $(eval $(call BuildPackage,collectd-mod-iptables))
522 $(eval $(call BuildPackage,collectd-mod-irq))
523 $(eval $(call BuildPackage,collectd-mod-load))
524 $(eval $(call BuildPackage,collectd-mod-logfile))
525 $(eval $(call BuildPackage,collectd-mod-netlink))
526 $(eval $(call BuildPackage,collectd-mod-network))
527 $(eval $(call BuildPackage,collectd-mod-nginx))
528 $(eval $(call BuildPackage,collectd-mod-ntpd))
529 $(eval $(call BuildPackage,collectd-mod-nut))
530 $(eval $(call BuildPackage,collectd-mod-ping))
531 $(eval $(call BuildPackage,collectd-mod-powerdns))
532 $(eval $(call BuildPackage,collectd-mod-processes))
533 $(eval $(call BuildPackage,collectd-mod-rrdtool1))
534 $(eval $(call BuildPackage,collectd-mod-sensors))
535 $(eval $(call BuildPackage,collectd-mod-snmp))
536 $(eval $(call BuildPackage,collectd-mod-syslog))
537 $(eval $(call BuildPackage,collectd-mod-tail))
538 $(eval $(call BuildPackage,collectd-mod-teamspeak2))
539 $(eval $(call BuildPackage,collectd-mod-tcpconns))
540 $(eval $(call BuildPackage,collectd-mod-unixsock))
541 $(eval $(call BuildPackage,collectd-mod-users))
542 $(eval $(call BuildPackage,collectd-mod-vmem))
543 $(eval $(call BuildPackage,collectd-mod-wireless))