2 # Copyright (C) 2006-2016 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
:=https
://collectd.org
/files
/ \
16 https
://github.com
/collectd
/collectd
/releases
/download
/collectd-
$(PKG_VERSION
)
17 PKG_HASH
:=5bae043042c19c31f77eb8464e56a01a5454e0b39fa07cf7ad0f1bfc9c3a09d6
20 PKG_REMOVE_FILES
:=aclocal.m4 libltdl
/aclocal.m4
21 PKG_MAINTAINER
:=Jo-Philipp Wich
<jo@mein.io
>, Hannu Nyman
<hannu.nyman@iki.fi
>
22 PKG_CPE_ID
:=cpe
:/a
:collectd
:collectd
28 PKG_CONFIG_DEPENDS
:= \
29 PACKAGE_COLLECTD_ENCRYPTED_NETWORK \
30 PACKAGE_COLLECTD_DEBUG_OUTPUT_ENABLE
32 COLLECTD_PLUGINS_DISABLED
:= \
136 COLLECTD_PLUGINS_SELECTED
:= \
166 match_empty_counter \
212 PKG_CONFIG_DEPENDS
:= \
213 $(patsubst %,CONFIG_PACKAGE_collectd-mod-
%,$(subst _
,-,$(COLLECTD_PLUGINS_SELECTED
))) \
215 include $(INCLUDE_DIR
)/package.mk
216 include $(INCLUDE_DIR
)/kernel.mk
217 # collectd-mod-mysql needs iconv
218 include $(INCLUDE_DIR
)/nls.mk
220 define Package
/collectd
/Default
223 TITLE
:=Lightweight system statistics collection daemon
224 URL
:=https
://collectd.org
/
227 define Package
/collectd
228 $(call Package
/collectd
/Default
)
229 DEPENDS
:= +libpthread \
233 +PACKAGE_collectd-mod-lua
:liblua
237 define Package
/collectd
/description
238 collectd is a small daemon which collects system information periodically
239 and provides mechanismns to store the values in a variety of ways.
242 define Package
/collectd
/config
243 config PACKAGE_COLLECTD_ENCRYPTED_NETWORK
244 bool
"Enable ability to use encrypted networking"
246 depends on PACKAGE_collectd
247 select PACKAGE_collectd-mod-network
249 config PACKAGE_COLLECTD_DEBUG_OUTPUT_ENABLE
250 bool
"Enable debug output"
252 depends on PACKAGE_collectd
254 Enables the compiler option that collectd is compiled with
255 debugging support. This is used at development stages to
get
256 more messages from the collectd during development.
259 # common configure args
263 --with-nan-emulation \
265 --without-perl-bindings
268 CFLAGS
="$$$$CFLAGS $(FPIC)" \
269 LDFLAGS
="$$$$LDFLAGS -lm -lz" \
270 KERNEL_DIR
="$(LINUX_DIR)"
272 ifneq ($(CONFIG_PACKAGE_collectd-mod-lua
),)
274 LDFLAGS
="$$$$LDFLAGS -llua"
277 ifneq ($(CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK
),)
279 --with-libgcrypt
=$(STAGING_DIR
)/usr
281 GCRYPT_LIBS
="-lgcrypt"
287 ifeq ($(CONFIG_PACKAGE_COLLECTD_DEBUG_OUTPUT_ENABLE
),y
)
297 $(if
$(CONFIG_PACKAGE_collectd-mod-
$(subst _
,-,$(m
))),--enable-
$(m
),--disable-
$(m
)) \
301 $(call CONFIGURE_PLUGIN
,$(COLLECTD_PLUGINS_SELECTED
)) \
302 $(call CONFIGURE_PLUGIN
,$(COLLECTD_PLUGINS_DISABLED
)) \
304 # exception: mod-ascent needs libxml2
305 ifneq ($(CONFIG_PACKAGE_collectd-mod-ascent
),)
307 CPPFLAGS
="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/libxml2"
310 ifneq ($(CONFIG_BIG_ENDIAN
),)
311 CONFIGURE_ARGS
+= --with-fp-layout
=endianflip
313 CONFIGURE_ARGS
+= --with-fp-layout
=nothing
316 ifneq ($(CONFIG_PACKAGE_collectd-mod-postgresql
),)
317 CONFIGURE_ARGS
+= --with-libpq
="$(STAGING_DIR)/usr/"
320 ifneq ($(CONFIG_PACKAGE_collectd-mod-mysql
),)
321 CONFIGURE_ARGS
+= --with-libmysql
="$(STAGING_DIR)/usr/"
324 # exception: mod-netlink needs libnetlink from iproute
325 ifneq ($(CONFIG_PACKAGE_collectd-mod-netlink
),)
326 CONFIGURE_ARGS
+= --with-libnetlink
="$(STAGING_DIR)/usr"
329 # exception: mod-modbus needs libmodbus
330 ifneq ($(CONFIG_PACKAGE_collectd-mod-modbus
),)
331 CONFIGURE_ARGS
+= --with-libmodbus
="$(STAGING_DIR)/usr"
334 # exception: mod-rrdtool needs rrdtool-1.0.x
335 ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool
),)
336 CONFIGURE_ARGS
+= --with-librrd
="$(STAGING_DIR)/usr/lib/rrdtool-1.0"
339 # exception: mod-smart needs libatasmart
340 ifneq ($(CONFIG_PACKAGE_collectd-mod-smart
),)
342 --with-libatasmart
="$(STAGING_DIR)/usr" \
343 --with-libudev
="$(STAGING_DIR)/usr"
345 CONFIGURE_ARGS
+= --without-libudev
348 define Package
/collectd
/conffiles
353 define Package
/collectd
/install
354 $(INSTALL_DIR
) $(1)/usr
/sbin
355 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/collectd
$(1)/usr
/sbin
/
357 $(INSTALL_DIR
) $(1)/usr
/share
/collectd
358 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/collectd
/types.db
$(1)/usr
/share
/collectd
/
360 $(INSTALL_DIR
) $(1)/etc
/init.d
361 $(INSTALL_BIN
) .
/files
/collectd.init
$(1)/etc
/init.d
/collectd
363 $(INSTALL_DIR
) $(1)/etc
/config
364 $(INSTALL_CONF
) files
/collectd.uci
$(1)/etc
/config
/collectd
368 # 2: plugin title/description
370 # 4: extra dependency
373 PKG_CONFIG_DEPENDS
+= CONFIG_PACKAGE_collectd-mod-
$(1)
375 define Package
/collectd-mod-
$(1)
376 $$(call Package
/collectd
/Default
)
378 DEPENDS
:= collectd
$(4)
381 define Package
/collectd-mod-
$(1)/install
382 $(INSTALL_DIR
) $$(1)/usr
/lib
/collectd
385 $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/$$$$$$$${m}.so \
386 $$(1)/usr
/lib
/collectd
/ ; \
388 if
[ -f .
/files
/usr
/share
/collectd
/plugin
/$(1).json
]; then \
389 $(INSTALL_DIR
) $$(1)/usr
/share
/collectd
/plugin
; \
390 $(INSTALL_DATA
) .
/files
/usr
/share
/collectd
/plugin
/$(1).json \
391 $$(1)/usr
/share
/collectd
/plugin
/$(1).json
; \
395 $$(eval
$$(call BuildPackage
,collectd-mod-
$(1)))
399 define BuildScriptLuaPlugin
400 PKG_CONFIG_DEPENDS
+= CONFIG_PACKAGE_collectd-mod-
$(1)
402 define Package
/collectd-mod-
$(1)
403 $$(call Package
/collectd
/Default
)
408 define Package
/collectd-mod-
$(1)/install
409 $(INSTALL_DIR
) $$(1)/usr
/lib
/collectd-mod-lua
412 .
/files
/lua-scripts
/$$$$$$$${m}.lua
$$(1)/usr
/lib
/collectd-mod-lua
/ ; \
414 if
[ -f .
/files
/usr
/share
/collectd
/plugin
/$(1).json
]; then \
415 $(INSTALL_DIR
) $$(1)/usr
/share
/collectd
/plugin
; \
416 $(INSTALL_DATA
) .
/files
/usr
/share
/collectd
/plugin
/$(1).json \
417 $$(1)/usr
/share
/collectd
/plugin
/$(1).json
; \
421 $$(eval
$$(call BuildPackage
,collectd-mod-
$(1)))
425 define BuildScriptPlugin
426 PKG_CONFIG_DEPENDS
+= CONFIG_PACKAGE_collectd-mod-
$(1)
428 define Package
/collectd-mod-
$(1)
429 $$(call Package
/collectd
/Default
)
434 define Package
/collectd-mod-
$(1)/install
435 $(INSTALL_DIR
) $$(1)/usr
/libexec
/collectd
438 .
/files
/exec-scripts
/$$$$$$$${m}.sh
$$(1)/usr
/libexec
/collectd
/ ; \
440 if
[ -f .
/files
/usr
/share
/collectd
/plugin
/$(1).json
]; then \
441 $(INSTALL_DIR
) $$(1)/usr
/share
/collectd
/plugin
; \
442 $(INSTALL_DATA
) .
/files
/usr
/share
/collectd
/plugin
/$(1).json \
443 $$(1)/usr
/share
/collectd
/plugin
/$(1).json
; \
447 $$(eval
$$(call BuildPackage
,collectd-mod-
$(1)))
451 $(eval
$(call BuildPackage
,collectd
))
453 #$(eval $(call BuildPlugin,NAME,DESCRIPTION,FILES,DEPENDENCIES))
454 $(eval
$(call BuildPlugin
,apache
,apache status input
,apache
,+PACKAGE_collectd-mod-apache
:libcurl
))
455 $(eval
$(call BuildPlugin
,apcups
,apcups status input
,apcups
,))
456 $(eval
$(call BuildPlugin
,ascent
,ascent status input
,ascent
,+PACKAGE_collectd-mod-ascent
:libcurl
+PACKAGE_collectd-mod-ascent
:libxml2
))
457 $(eval
$(call BuildPlugin
,bind
,BIND server
/zone input
,bind
,+PACKAGE_collectd-mod-bind
:libcurl
+PACKAGE_collectd-mod-bind
:libxml2
))
458 $(eval
$(call BuildPlugin
,chrony
,chrony status input
,chrony
,))
459 $(eval
$(call BuildPlugin
,conntrack
,connection tracking table size input
,conntrack
,))
460 $(eval
$(call BuildPlugin
,contextswitch
,context switch input
,contextswitch
,))
461 $(eval
$(call BuildPlugin
,cpu
,CPU input
,cpu
,))
462 $(eval
$(call BuildPlugin
,cpufreq
,CPU Freq input
,cpufreq
,@
(TARGET_x86||TARGET_x86_64||TARGET_mvebu||TARGET_ipq806x||TARGET_armvirt||TARGET_ipq40xx||TARGET_bcm27xx_bcm2709||TARGET_rockchip||TARGET_mediatek||TARGET_ipq807x
))) # Only enable on targets with CPUs supporting frequency scaling
463 $(eval
$(call BuildPlugin
,csv
,CSV output
,csv
,))
464 $(eval
$(call BuildPlugin
,curl
,cURL input
,curl
,+PACKAGE_collectd-mod-curl
:libcurl
))
465 #$(eval $(call BuildPlugin,dbi,relational database input,dbi,+PACKAGE_collectd-mod-dbi:libdbi))
466 $(eval
$(call BuildPlugin
,df
,disk space input
,df
,))
467 $(eval
$(call BuildPlugin
,dhcpleases
,show dhcpleases
,dhcpleases
,))
468 $(eval
$(call BuildPlugin
,disk
,disk usage
/timing input
,disk
,+PACKAGE_collectd-mod-smart
:libudev
))
469 $(eval
$(call BuildPlugin
,dns
,DNS traffic input
,dns
,+PACKAGE_collectd-mod-dns
:libpcap
))
470 $(eval
$(call BuildPlugin
,email
,email output
,email
,))
471 $(eval
$(call BuildPlugin
,entropy
,Entropy amount input
,entropy
,))
472 $(eval
$(call BuildPlugin
,ethstat
,Ethernet adapter statistics input
,ethstat
,))
473 $(eval
$(call BuildPlugin
,exec
,process exec input
,exec
,))
474 $(eval
$(call BuildPlugin
,filecount
,file count input
,filecount
,))
475 $(eval
$(call BuildPlugin
,fscache
,file-system based caching framework input
,fscache
,))
476 $(eval
$(call BuildPlugin
,interface
,network interfaces input
,interface
,))
477 $(eval
$(call BuildPlugin
,ipstatistics
,ipstatistics input
,ipstatistics
,))
478 $(eval
$(call BuildPlugin
,iptables
,iptables status input
,iptables
,+PACKAGE_collectd-mod-iptables
:iptables
+libip4tc
+libip6tc
))
479 $(eval
$(call BuildPlugin
,irq
,interrupt usage input
,irq
,))
480 $(eval
$(call BuildPlugin
,iwinfo
,libiwinfo wireless statistics
,iwinfo
,+PACKAGE_collectd-mod-iwinfo
:libiwinfo
))
481 $(eval
$(call BuildPlugin
,load
,system load input
,load
,))
482 $(eval
$(call BuildPlugin
,logfile
,log files output
,logfile
,))
483 $(eval
$(call BuildPlugin
,lua
,lua input
/output
,lua
,+PACKAGE_collectd-mod-lua
:liblua
))
484 $(eval
$(call BuildPlugin
,match-empty-counter
,empty-counter match
,match_empty_counter
,))
485 $(eval
$(call BuildPlugin
,match-hashed
,hashed match
,match_hashed
,))
486 $(eval
$(call BuildPlugin
,match-regex
,regex match
,match_regex
,))
487 $(eval
$(call BuildPlugin
,match-timediff
,timediff match
,match_timediff
,))
488 $(eval
$(call BuildPlugin
,match-value
,value match
,match_value
,))
489 $(eval
$(call BuildPlugin
,mysql
,MySQL status input
,mysql
,+PACKAGE_collectd-mod-mysql
:libmysqlclient-r
))
490 $(eval
$(call BuildPlugin
,memory
,physical memory usage input
,memory
,))
491 $(eval
$(call BuildPlugin
,modbus
,read variables through libmodbus
,modbus
,+PACKAGE_collectd-mod-modbus
:libmodbus
))
492 $(eval
$(call BuildPlugin
,mqtt
,transmit data with MQTT
,mqtt
,+PACKAGE_collectd-mod-mqtt
:libmosquitto
))
493 $(eval
$(call BuildPlugin
,netlink
,netlink input
,netlink
,+PACKAGE_collectd-mod-netlink
:libmnl
))
494 $(eval
$(call BuildPlugin
,network
,network input
/output
,network
,+PACKAGE_COLLECTD_ENCRYPTED_NETWORK
:libgcrypt
))
495 $(eval
$(call BuildPlugin
,nginx
,nginx status input
,nginx
,+PACKAGE_collectd-mod-nginx
:libcurl
))
496 $(eval
$(call BuildPlugin
,ntpd
,NTP daemon status input
,ntpd
,))
497 $(eval
$(call BuildPlugin
,nut
,UPS monitoring input
,nut
,+PACKAGE_collectd-mod-nut
:nut-common
))
498 $(eval
$(call BuildPlugin
,olsrd
,OLSRd status input
,olsrd
,))
499 $(eval
$(call BuildPlugin
,openvpn
,OpenVPN traffic
/compression input
,openvpn
,))
500 $(eval
$(call BuildPlugin
,ping
,ping status input
,ping
,+PACKAGE_collectd-mod-ping
:liboping
))
501 $(eval
$(call BuildPlugin
,postgresql
,PostgreSQL status input
,postgresql
,+PACKAGE_collectd-mod-postgresql
:libpq
))
502 $(eval
$(call BuildPlugin
,powerdns
,PowerDNS server status input
,powerdns
,))
503 $(eval
$(call BuildPlugin
,processes
,process status input
,processes
,+PACKAGE_collectd-mod-processes
:libmnl
))
504 $(eval
$(call BuildPlugin
,protocols
,network protocols input
,protocols
,))
505 $(eval
$(call BuildPlugin
,routeros
,MikroTik RouterOS input
,routeros
,+PACKAGE_collectd-mod-routeros
:librouteros
))
506 $(eval
$(call BuildPlugin
,rrdtool
,RRDtool output
,rrdtool
,+PACKAGE_collectd-mod-rrdtool
:librrd1
))
507 $(eval
$(call BuildPlugin
,sensors
,lm_sensors input
,sensors
,+PACKAGE_collectd-mod-sensors
:lm-sensors
))
508 $(eval
$(call BuildPlugin
,smart
,smart input
,smart
,+PACKAGE_collectd-mod-smart
:libatasmart
))
509 $(eval
$(call BuildPlugin
,snmp
,SNMP input
,snmp
,+PACKAGE_collectd-mod-snmp
:libnetsnmp
))
510 $(eval
$(call BuildPlugin
,snmp6
,snmp6 input
,snmp6
,))
511 $(eval
$(call BuildPlugin
,swap
,swap input
,swap
,))
512 $(eval
$(call BuildPlugin
,syslog
,syslog output
,syslog
,))
513 $(eval
$(call BuildPlugin
,tail
,tail input
,tail
,))
514 $(eval
$(call BuildPlugin
,tail-csv
,tail CSV input
,tail_csv
,))
515 $(eval
$(call BuildPlugin
,table
,table-like structured file input
,table
,))
516 $(eval
$(call BuildPlugin
,teamspeak2
,TeamSpeak2 input
,teamspeak2
,))
517 $(eval
$(call BuildPlugin
,ted
,The Energy Detective input
,ted
,))
518 $(eval
$(call BuildPlugin
,tcpconns
,TCP connection tracking input
,tcpconns
,))
519 $(eval
$(call BuildPlugin
,thermal
,system temperatures input
,thermal
,))
520 $(eval
$(call BuildPlugin
,threshold
,Notifications and thresholds
,threshold
,))
521 $(eval
$(call BuildPlugin
,ubi
,Unsorted block images
,ubi
,@NAND_SUPPORT
))
522 $(eval
$(call BuildPlugin
,unixsock
,unix socket output
,unixsock
,))
523 $(eval
$(call BuildPlugin
,uptime
,uptime status input
,uptime
,))
524 $(eval
$(call BuildPlugin
,users
,user logged in status input
,users
,))
525 $(eval
$(call BuildPlugin
,vmem
,virtual memory usage input
,vmem
,))
526 $(eval
$(call BuildPlugin
,wireless
,wireless status input
,wireless
,))
527 $(eval
$(call BuildPlugin
,write-graphite
,Carbon
/Graphite output
,write_graphite
,+PACKAGE_collectd-mod-write-graphite
:libpthread
))
528 $(eval
$(call BuildPlugin
,write-http
,HTTP POST output
,write_http
,+PACKAGE_collectd-mod-write-http
:libcurl
))
530 $(eval
$(call BuildScriptPlugin
,sqm
,SQM
/qdisc collection
,sqm_collectd
,+PACKAGE_collectd-mod-sqm
:collectd-mod-exec
))
531 $(eval
$(call BuildScriptLuaPlugin
,ltq-dsl
,Lantiq DSL collection
,dsl
,ltq-dsl-app
+PACKAGE_collectd-mod-ltq-dsl
:collectd-mod-lua
+libubus-lua
))