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
+zlib
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
$(TARGET_LDFLAGS
)
320 TARGET_LDFLAGS
+= -lm
323 DESTDIR
="$(PKG_INSTALL_DIR)" \
326 define Package
/collectd
/install
327 $(INSTALL_DIR
) $(1)/usr
/sbin
328 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/collectd
$(1)/usr
/sbin
/
329 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
330 $(INSTALL_CONF
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/types.db
$(1)/usr
/lib
/collectd
/
331 $(INSTALL_DIR
) $(1)/etc
332 $(INSTALL_CONF
) .
/files
/collectd.conf
$(1)/etc
/
333 $(INSTALL_DIR
) $(1)/etc
/init.d
334 $(INSTALL_BIN
) .
/files
/collectd.init
$(1)/etc
/init.d
/collectd
337 define Package
/collectd-mod-apache
/install
338 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
339 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/apache.so
$(1)/usr
/lib
/collectd
/
342 define Package
/collectd-mod-apcups
/install
343 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
344 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/apcups.so
$(1)/usr
/lib
/collectd
/
347 define Package
/collectd-mod-ascent
/install
348 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
349 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/ascent.so
$(1)/usr
/lib
/collectd
/
352 define Package
/collectd-mod-cpu
/install
353 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
354 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/cpu.so
$(1)/usr
/lib
/collectd
/
357 define Package
/collectd-mod-csv
/install
358 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
359 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/csv.so
$(1)/usr
/lib
/collectd
/
362 define Package
/collectd-mod-df
/install
363 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
364 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/df.so
$(1)/usr
/lib
/collectd
/
367 define Package
/collectd-mod-disk
/install
368 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
369 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/disk.so
$(1)/usr
/lib
/collectd
/
372 define Package
/collectd-mod-dns
/install
373 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
374 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/dns.so
$(1)/usr
/lib
/collectd
/
377 define Package
/collectd-mod-email
/install
378 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
379 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/email.so
$(1)/usr
/lib
/collectd
/
382 define Package
/collectd-mod-exec
/install
383 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
384 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/exec.so
$(1)/usr
/lib
/collectd
/
387 define Package
/collectd-mod-interface
/install
388 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
389 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/interface.so
$(1)/usr
/lib
/collectd
/
392 define Package
/collectd-mod-iptables
/install
393 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
394 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/iptables.so
$(1)/usr
/lib
/collectd
/
397 define Package
/collectd-mod-irq
/install
398 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
399 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/irq.so
$(1)/usr
/lib
/collectd
/
402 define Package
/collectd-mod-load
/install
403 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
404 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/load.so
$(1)/usr
/lib
/collectd
/
407 define Package
/collectd-mod-logfile
/install
408 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
409 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/logfile.so
$(1)/usr
/lib
/collectd
/
412 define Package
/collectd-mod-netlink
/install
413 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
414 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/netlink.so
$(1)/usr
/lib
/collectd
/
417 define Package
/collectd-mod-network
/install
418 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
419 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/network.so
$(1)/usr
/lib
/collectd
/
422 define Package
/collectd-mod-nginx
/install
423 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
424 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/nginx.so
$(1)/usr
/lib
/collectd
/
427 define Package
/collectd-mod-ntpd
/install
428 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
429 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/ntpd.so
$(1)/usr
/lib
/collectd
/
432 define Package
/collectd-mod-nut
/install
433 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
434 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/nut.so
$(1)/usr
/lib
/collectd
/
437 define Package
/collectd-mod-ping
/install
438 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
439 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/ping.so
$(1)/usr
/lib
/collectd
/
442 define Package
/collectd-mod-powerdns
/install
443 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
444 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/powerdns.so
$(1)/usr
/lib
/collectd
/
447 define Package
/collectd-mod-processes
/install
448 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
449 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/processes.so
$(1)/usr
/lib
/collectd
/
452 define Package
/collectd-mod-rrdtool1
/install
453 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
454 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/rrdtool.so
$(1)/usr
/lib
/collectd
/
457 define Package
/collectd-mod-sensors
/install
458 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
459 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/sensors.so
$(1)/usr
/lib
/collectd
/
462 define Package
/collectd-mod-snmp
/install
463 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
464 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/snmp.so
$(1)/usr
/lib
/collectd
/
467 define Package
/collectd-mod-syslog
/install
468 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
469 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/syslog.so
$(1)/usr
/lib
/collectd
/
472 define Package
/collectd-mod-tail
/install
473 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
474 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/tail.so
$(1)/usr
/lib
/collectd
/
477 define Package
/collectd-mod-teamspeak2
/install
478 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
479 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/teamspeak2.so
$(1)/usr
/lib
/collectd
/
482 define Package
/collectd-mod-tcpconns
/install
483 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
484 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/tcpconns.so
$(1)/usr
/lib
/collectd
/
487 define Package
/collectd-mod-unixsock
/install
488 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
489 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/unixsock.so
$(1)/usr
/lib
/collectd
/
492 define Package
/collectd-mod-users
/install
493 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
494 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/users.so
$(1)/usr
/lib
/collectd
/
497 define Package
/collectd-mod-vmem
/install
498 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
499 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/vmem.so
$(1)/usr
/lib
/collectd
/
502 define Package
/collectd-mod-wireless
/install
503 $(INSTALL_DIR
) $(1)/usr
/lib
/collectd
504 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/wireless.so
$(1)/usr
/lib
/collectd
/
508 $(eval
$(call BuildPackage
,collectd
))
509 $(eval
$(call BuildPackage
,collectd-mod-apache
))
510 $(eval
$(call BuildPackage
,collectd-mod-apcups
))
511 $(eval
$(call BuildPackage
,collectd-mod-ascent
))
512 $(eval
$(call BuildPackage
,collectd-mod-cpu
))
513 $(eval
$(call BuildPackage
,collectd-mod-csv
))
514 $(eval
$(call BuildPackage
,collectd-mod-df
))
515 $(eval
$(call BuildPackage
,collectd-mod-disk
))
516 $(eval
$(call BuildPackage
,collectd-mod-dns
))
517 $(eval
$(call BuildPackage
,collectd-mod-email
))
518 $(eval
$(call BuildPackage
,collectd-mod-exec
))
519 $(eval
$(call BuildPackage
,collectd-mod-interface
))
520 $(eval
$(call BuildPackage
,collectd-mod-iptables
))
521 $(eval
$(call BuildPackage
,collectd-mod-irq
))
522 $(eval
$(call BuildPackage
,collectd-mod-load
))
523 $(eval
$(call BuildPackage
,collectd-mod-logfile
))
524 $(eval
$(call BuildPackage
,collectd-mod-netlink
))
525 $(eval
$(call BuildPackage
,collectd-mod-network
))
526 $(eval
$(call BuildPackage
,collectd-mod-nginx
))
527 $(eval
$(call BuildPackage
,collectd-mod-ntpd
))
528 $(eval
$(call BuildPackage
,collectd-mod-nut
))
529 $(eval
$(call BuildPackage
,collectd-mod-ping
))
530 $(eval
$(call BuildPackage
,collectd-mod-powerdns
))
531 $(eval
$(call BuildPackage
,collectd-mod-processes
))
532 $(eval
$(call BuildPackage
,collectd-mod-rrdtool1
))
533 $(eval
$(call BuildPackage
,collectd-mod-sensors
))
534 $(eval
$(call BuildPackage
,collectd-mod-snmp
))
535 $(eval
$(call BuildPackage
,collectd-mod-syslog
))
536 $(eval
$(call BuildPackage
,collectd-mod-tail
))
537 $(eval
$(call BuildPackage
,collectd-mod-teamspeak2
))
538 $(eval
$(call BuildPackage
,collectd-mod-tcpconns
))
539 $(eval
$(call BuildPackage
,collectd-mod-unixsock
))
540 $(eval
$(call BuildPackage
,collectd-mod-users
))
541 $(eval
$(call BuildPackage
,collectd-mod-vmem
))
542 $(eval
$(call BuildPackage
,collectd-mod-wireless
))