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 COLLECTD_PLUGINS_DISABLED
:= \
132 COLLECTD_PLUGINS_SELECTED
:= \
162 match_empty_counter \
208 PKG_CONFIG_DEPENDS
:= \
209 $(patsubst %,CONFIG_PACKAGE_collectd-mod-
%,$(subst _
,-,$(COLLECTD_PLUGINS_SELECTED
))) \
211 include $(INCLUDE_DIR
)/package.mk
212 include $(INCLUDE_DIR
)/kernel.mk
213 # collectd-mod-mysql needs iconv
214 include $(INCLUDE_DIR
)/nls.mk
216 define Package
/collectd
/Default
219 TITLE
:=Lightweight system statistics collection daemon
220 URL
:=https
://collectd.org
/
223 define Package
/collectd
224 $(call Package
/collectd
/Default
)
225 DEPENDS
:= +libpthread \
230 +PACKAGE_collectd-mod-lua
:liblua
234 define Package
/collectd
/description
235 collectd is a small daemon which collects system information periodically
236 and provides mechanismns to store the values in a variety of ways.
239 define Package
/collectd
/config
240 config PACKAGE_COLLECTD_ENCRYPTED_NETWORK
241 bool
"Enable ability to use encrypted networking"
243 depends on PACKAGE_collectd
244 select PACKAGE_collectd-mod-network
247 # common configure args
252 --with-nan-emulation \
254 --without-perl-bindings
257 CFLAGS
="$$$$CFLAGS $(FPIC)" \
258 LDFLAGS
="$$$$LDFLAGS -lm -lz" \
259 KERNEL_DIR
="$(LINUX_DIR)"
261 ifneq ($(CONFIG_PACKAGE_collectd-mod-lua
),)
263 LDFLAGS
="$$$$LDFLAGS -llua"
266 ifneq ($(CONFIG_PACKAGE_COLLECTD_ENCRYPTED_NETWORK
),)
268 --with-libgcrypt
=$(STAGING_DIR
)/usr
270 GCRYPT_LIBS
="-lgcrypt"
278 $(if
$(CONFIG_PACKAGE_collectd-mod-
$(subst _
,-,$(m
))),--enable-
$(m
),--disable-
$(m
)) \
282 $(call CONFIGURE_PLUGIN
,$(COLLECTD_PLUGINS_SELECTED
)) \
283 $(call CONFIGURE_PLUGIN
,$(COLLECTD_PLUGINS_DISABLED
)) \
285 # exception: mod-ascent needs libxml2
286 ifneq ($(CONFIG_PACKAGE_collectd-mod-ascent
),)
288 CPPFLAGS
="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include/libxml2"
291 ifneq ($(CONFIG_BIG_ENDIAN
),)
292 CONFIGURE_ARGS
+= --with-fp-layout
=endianflip
294 CONFIGURE_ARGS
+= --with-fp-layout
=nothing
297 ifneq ($(CONFIG_PACKAGE_collectd-mod-postgresql
),)
298 CONFIGURE_ARGS
+= --with-libpq
="$(STAGING_DIR)/usr/"
301 ifneq ($(CONFIG_PACKAGE_collectd-mod-mysql
),)
302 CONFIGURE_ARGS
+= --with-libmysql
="$(STAGING_DIR)/usr/"
305 # exception: mod-netlink needs libnetlink from iproute
306 ifneq ($(CONFIG_PACKAGE_collectd-mod-netlink
),)
307 CONFIGURE_ARGS
+= --with-libnetlink
="$(STAGING_DIR)/usr"
310 # exception: mod-modbus needs libmodbus
311 ifneq ($(CONFIG_PACKAGE_collectd-mod-modbus
),)
312 CONFIGURE_ARGS
+= --with-libmodbus
="$(STAGING_DIR)/usr"
315 # exception: mod-rrdtool needs rrdtool-1.0.x
316 ifneq ($(CONFIG_PACKAGE_collectd-mod-rrdtool
),)
317 CONFIGURE_ARGS
+= --with-librrd
="$(STAGING_DIR)/usr/lib/rrdtool-1.0"
320 # exception: mod-smart needs libatasmart
321 ifneq ($(CONFIG_PACKAGE_collectd-mod-smart
),)
323 --with-libatasmart
="$(STAGING_DIR)/usr" \
324 --with-libudev
="$(STAGING_DIR)/usr"
326 CONFIGURE_ARGS
+= --without-libudev
329 define Package
/collectd
/conffiles
334 define Package
/collectd
/install
335 $(INSTALL_DIR
) $(1)/usr
/sbin
336 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/collectd
$(1)/usr
/sbin
/
338 $(INSTALL_DIR
) $(1)/usr
/share
/collectd
339 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/share
/collectd
/types.db
$(1)/usr
/share
/collectd
/
341 $(INSTALL_DIR
) $(1)/etc
/init.d
342 $(INSTALL_BIN
) .
/files
/collectd.init
$(1)/etc
/init.d
/collectd
344 $(INSTALL_DIR
) $(1)/etc
/config
345 $(INSTALL_CONF
) files
/collectd.uci
$(1)/etc
/config
/collectd
349 # 2: plugin title/description
351 # 4: extra dependency
354 PKG_CONFIG_DEPENDS
+= CONFIG_PACKAGE_collectd-mod-
$(1)
356 define Package
/collectd-mod-
$(1)
357 $$(call Package
/collectd
/Default
)
359 DEPENDS
:= collectd
$(4)
362 define Package
/collectd-mod-
$(1)/install
363 $(INSTALL_DIR
) $$(1)/usr
/lib
/collectd
366 $(PKG_INSTALL_DIR
)/usr
/lib
/collectd
/$$$$$$$${m}.so \
367 $$(1)/usr
/lib
/collectd
/ ; \
369 if
[ -f .
/files
/usr
/share
/collectd
/plugin
/$(1).json
]; then \
370 $(INSTALL_DIR
) $$(1)/usr
/share
/collectd
/plugin
; \
371 $(INSTALL_DATA
) .
/files
/usr
/share
/collectd
/plugin
/$(1).json \
372 $$(1)/usr
/share
/collectd
/plugin
/$(1).json
; \
376 $$(eval
$$(call BuildPackage
,collectd-mod-
$(1)))
380 define BuildScriptPlugin
381 PKG_CONFIG_DEPENDS
+= CONFIG_PACKAGE_collectd-mod-
$(1)
383 define Package
/collectd-mod-
$(1)
384 $$(call Package
/collectd
/Default
)
389 define Package
/collectd-mod-
$(1)/install
390 $(INSTALL_DIR
) $$(1)/usr
/libexec
/collectd
393 .
/files
/exec-scripts
/$$$$$$$${m}.sh
$$(1)/usr
/libexec
/collectd
/ ; \
395 if
[ -f .
/files
/usr
/share
/collectd
/plugin
/$(1).json
]; then \
396 $(INSTALL_DIR
) $$(1)/usr
/share
/collectd
/plugin
; \
397 $(INSTALL_DATA
) .
/files
/usr
/share
/collectd
/plugin
/$(1).json \
398 $$(1)/usr
/share
/collectd
/plugin
/$(1).json
; \
402 $$(eval
$$(call BuildPackage
,collectd-mod-
$(1)))
406 $(eval
$(call BuildPackage
,collectd
))
408 #$(eval $(call BuildPlugin,NAME,DESCRIPTION,FILES,DEPENDENCIES))
409 $(eval
$(call BuildPlugin
,apache
,apache status input
,apache
,+PACKAGE_collectd-mod-apache
:libcurl
))
410 $(eval
$(call BuildPlugin
,apcups
,apcups status input
,apcups
,))
411 $(eval
$(call BuildPlugin
,ascent
,ascent status input
,ascent
,+PACKAGE_collectd-mod-ascent
:libcurl
+PACKAGE_collectd-mod-ascent
:libxml2
))
412 $(eval
$(call BuildPlugin
,bind
,BIND server
/zone input
,bind
,+PACKAGE_collectd-mod-bind
:libcurl
+PACKAGE_collectd-mod-bind
:libxml2
))
413 $(eval
$(call BuildPlugin
,chrony
,chrony status input
,chrony
,))
414 $(eval
$(call BuildPlugin
,conntrack
,connection tracking table size input
,conntrack
,))
415 $(eval
$(call BuildPlugin
,contextswitch
,context switch input
,contextswitch
,))
416 $(eval
$(call BuildPlugin
,cpu
,CPU input
,cpu
,))
417 $(eval
$(call BuildPlugin
,cpufreq
,CPU Freq input
,cpufreq
,@
(TARGET_x86||TARGET_x86_64||TARGET_mvebu||TARGET_ipq806x||TARGET_armvirt||TARGET_ipq40xx||TARGET_bcm27xx_bcm2709
))) # Only enable on targets with CPUs supporting frequency scaling
418 $(eval
$(call BuildPlugin
,csv
,CSV output
,csv
,))
419 $(eval
$(call BuildPlugin
,curl
,cURL input
,curl
,+PACKAGE_collectd-mod-curl
:libcurl
))
420 #$(eval $(call BuildPlugin,dbi,relational database input,dbi,+PACKAGE_collectd-mod-dbi:libdbi))
421 $(eval
$(call BuildPlugin
,df
,disk space input
,df
,))
422 $(eval
$(call BuildPlugin
,dhcpleases
,show dhcpleases
,dhcpleases
,))
423 $(eval
$(call BuildPlugin
,disk
,disk usage
/timing input
,disk
,+PACKAGE_collectd-mod-smart
:libudev
))
424 $(eval
$(call BuildPlugin
,dns
,DNS traffic input
,dns
,+PACKAGE_collectd-mod-dns
:libpcap
))
425 $(eval
$(call BuildPlugin
,email
,email output
,email
,))
426 $(eval
$(call BuildPlugin
,entropy
,Entropy amount input
,entropy
,))
427 $(eval
$(call BuildPlugin
,ethstat
,Ethernet adapter statistics input
,ethstat
,))
428 $(eval
$(call BuildPlugin
,exec
,process exec input
,exec
,))
429 $(eval
$(call BuildPlugin
,filecount
,file count input
,filecount
,))
430 $(eval
$(call BuildPlugin
,fscache
,file-system based caching framework input
,fscache
,))
431 $(eval
$(call BuildPlugin
,interface
,network interfaces input
,interface
,))
432 $(eval
$(call BuildPlugin
,ipstatistics
,ipstatistics input
,ipstatistics
,))
433 $(eval
$(call BuildPlugin
,iptables
,iptables status input
,iptables
,+PACKAGE_collectd-mod-iptables
:iptables
+libip4tc
+libip6tc
))
434 $(eval
$(call BuildPlugin
,irq
,interrupt usage input
,irq
,))
435 $(eval
$(call BuildPlugin
,iwinfo
,libiwinfo wireless statistics
,iwinfo
,+PACKAGE_collectd-mod-iwinfo
:libiwinfo
))
436 $(eval
$(call BuildPlugin
,load
,system load input
,load
,))
437 $(eval
$(call BuildPlugin
,logfile
,log files output
,logfile
,))
438 $(eval
$(call BuildPlugin
,lua
,lua input
/output
,lua
,+PACKAGE_collectd-mod-lua
:liblua
))
439 $(eval
$(call BuildPlugin
,match-empty-counter
,empty-counter match
,match_empty_counter
,))
440 $(eval
$(call BuildPlugin
,match-hashed
,hashed match
,match_hashed
,))
441 $(eval
$(call BuildPlugin
,match-regex
,regex match
,match_regex
,))
442 $(eval
$(call BuildPlugin
,match-timediff
,timediff match
,match_timediff
,))
443 $(eval
$(call BuildPlugin
,match-value
,value match
,match_value
,))
444 $(eval
$(call BuildPlugin
,mysql
,MySQL status input
,mysql
,+PACKAGE_collectd-mod-mysql
:libmysqlclient-r
))
445 $(eval
$(call BuildPlugin
,memory
,physical memory usage input
,memory
,))
446 $(eval
$(call BuildPlugin
,modbus
,read variables through libmodbus
,modbus
,+PACKAGE_collectd-mod-modbus
:libmodbus
))
447 $(eval
$(call BuildPlugin
,mqtt
,transmit data with MQTT
,mqtt
,+PACKAGE_collectd-mod-mqtt
:libmosquitto
))
448 $(eval
$(call BuildPlugin
,netlink
,netlink input
,netlink
,+PACKAGE_collectd-mod-netlink
:libmnl
))
449 $(eval
$(call BuildPlugin
,network
,network input
/output
,network
,+PACKAGE_COLLECTD_ENCRYPTED_NETWORK
:libgcrypt
))
450 $(eval
$(call BuildPlugin
,nginx
,nginx status input
,nginx
,+PACKAGE_collectd-mod-nginx
:libcurl
))
451 $(eval
$(call BuildPlugin
,ntpd
,NTP daemon status input
,ntpd
,))
452 $(eval
$(call BuildPlugin
,nut
,UPS monitoring input
,nut
,+PACKAGE_collectd-mod-nut
:nut-common
))
453 $(eval
$(call BuildPlugin
,olsrd
,OLSRd status input
,olsrd
,))
454 $(eval
$(call BuildPlugin
,openvpn
,OpenVPN traffic
/compression input
,openvpn
,))
455 $(eval
$(call BuildPlugin
,ping
,ping status input
,ping
,+PACKAGE_collectd-mod-ping
:liboping
))
456 $(eval
$(call BuildPlugin
,postgresql
,PostgreSQL status input
,postgresql
,+PACKAGE_collectd-mod-postgresql
:libpq
))
457 $(eval
$(call BuildPlugin
,powerdns
,PowerDNS server status input
,powerdns
,))
458 $(eval
$(call BuildPlugin
,processes
,process status input
,processes
,+PACKAGE_collectd-mod-processes
:libmnl
))
459 $(eval
$(call BuildPlugin
,protocols
,network protocols input
,protocols
,))
460 $(eval
$(call BuildPlugin
,routeros
,MikroTik RouterOS input
,routeros
,+PACKAGE_collectd-mod-routeros
:librouteros
))
461 $(eval
$(call BuildPlugin
,rrdtool
,RRDtool output
,rrdtool
,+PACKAGE_collectd-mod-rrdtool
:librrd1
))
462 $(eval
$(call BuildPlugin
,sensors
,lm_sensors input
,sensors
,+PACKAGE_collectd-mod-sensors
:libsensors
))
463 $(eval
$(call BuildPlugin
,smart
,smart input
,smart
,+PACKAGE_collectd-mod-smart
:libatasmart
))
464 $(eval
$(call BuildPlugin
,snmp
,SNMP input
,snmp
,+PACKAGE_collectd-mod-snmp
:libnetsnmp
))
465 $(eval
$(call BuildPlugin
,snmp6
,snmp6 input
,snmp6
,))
466 $(eval
$(call BuildPlugin
,swap
,swap input
,swap
,))
467 $(eval
$(call BuildPlugin
,syslog
,syslog output
,syslog
,))
468 $(eval
$(call BuildPlugin
,tail
,tail input
,tail
,))
469 $(eval
$(call BuildPlugin
,tail-csv
,tail CSV input
,tail_csv
,))
470 $(eval
$(call BuildPlugin
,table
,table-like structured file input
,table
,))
471 $(eval
$(call BuildPlugin
,teamspeak2
,TeamSpeak2 input
,teamspeak2
,))
472 $(eval
$(call BuildPlugin
,ted
,The Energy Detective input
,ted
,))
473 $(eval
$(call BuildPlugin
,tcpconns
,TCP connection tracking input
,tcpconns
,))
474 $(eval
$(call BuildPlugin
,thermal
,system temperatures input
,thermal
,))
475 $(eval
$(call BuildPlugin
,threshold
,Notifications and thresholds
,threshold
,))
476 $(eval
$(call BuildPlugin
,ubi
,Unsorted block images
,ubi
,@NAND_SUPPORT
))
477 $(eval
$(call BuildPlugin
,unixsock
,unix socket output
,unixsock
,))
478 $(eval
$(call BuildPlugin
,uptime
,uptime status input
,uptime
,))
479 $(eval
$(call BuildPlugin
,users
,user logged in status input
,users
,))
480 $(eval
$(call BuildPlugin
,vmem
,virtual memory usage input
,vmem
,))
481 $(eval
$(call BuildPlugin
,wireless
,wireless status input
,wireless
,))
482 $(eval
$(call BuildPlugin
,write-graphite
,Carbon
/Graphite output
,write_graphite
,+PACKAGE_collectd-mod-write-graphite
:libpthread
))
483 $(eval
$(call BuildPlugin
,write-http
,HTTP POST output
,write_http
,+PACKAGE_collectd-mod-write-http
:libcurl
))
485 $(eval
$(call BuildScriptPlugin
,sqm
,SQM
/qdisc collection
,sqm_collectd
,+PACKAGE_collectd-mod-sqm
:collectd-mod-exec
))