wfadatad: 6.10.0 (deagent + decollector)

This commit is contained in:
Anjan Chanda 2021-12-10 12:57:10 +01:00
parent b2e8affb08
commit d1477636f9
3 changed files with 77 additions and 30 deletions

View file

@ -5,10 +5,10 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wfadatad
PKG_VERSION:=5.1.1
PKG_VERSION:=6.10.0
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=b285df098a380936710b1e3da7686e35a4a9adee
PKG_SOURCE_VERSION:=74aa2efe7f3f835e02cab1f8965afabd918b1477
PKG_SOURCE_URL:=https://dev.iopsys.eu/iopsys/wfadatad.git
PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.gz
PKG_MIRROR_HASH:=skip
@ -25,19 +25,25 @@ include $(INCLUDE_DIR)/package.mk
define Package/wfadatad
SECTION:=utils
CATEGORY:=Utilities
TITLE:=WiFi Data Elements-1.0 Agent and Collector
TITLE:=WiFi DataElements Agent
DEPENDS:=+libwifi +libuci +libubox +ubus +libpthread +libnl-genl \
+!WFA_DELM_STANDALONE:map-agent +libieee1905 +map-plugin
endef
define Package/wfadatad/description
This package implements WiFi Alliance's Data Elements v.1.0.
It collects WiFi network's diagnostic data and reports them
to the Data Elements Collector.
In Data Elements Agent mode, the package by default is built
as a loadable plugin module to the MultiAP Agent.
The package can also be built as a standalone daemon running
independently of a MultiAP Agent.
This package implements WiFi DataElements Agent.
endef
define Package/wfadatad-collector
SECTION:=utils
CATEGORY:=Utilities
TITLE:=WiFi DataElements Collector
DEPENDS:=+libuci +libubox +ubus +libpthread +libnl-genl \
+libieee1905 +map-plugin
endef
define Package/wfadatad-collector/description
It implements WiFi DataElement Collector.
endef
@ -45,7 +51,6 @@ define Package/wfadatad/config
source "$(SOURCE)/Config.in"
endef
ifeq ($(CONFIG_WFA_DELM_STANDALONE),y)
MAKE_FLAGS += CONFIG_WFA_DELM_STANDALONE=y
endif
@ -63,12 +68,26 @@ define Package/wfadatad/install
ifeq ($(CONFIG_WFA_DELM_STANDALONE),y)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/wfadatad.init $(1)/etc/init.d/wfadatad
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/wfadatad $(1)/usr/sbin/
$(INSTALL_BIN) ./files/wfadatad.init $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/agent/deagent $(1)/usr/sbin/
else
$(INSTALL_DIR) $(1)/usr/lib/map-plugins
$(CP) $(PKG_BUILD_DIR)/src/wfa_delm.so $(1)/usr/lib/map-plugins
$(CP) $(PKG_BUILD_DIR)/src/agent/deagent.so $(1)/usr/lib/map-plugins
endif
endef
define Package/wfadatad-collector/install
ifeq ($(CONFIG_WFA_DELM_STANDALONE),y)
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) ./files/wfadatad.collector.init $(1)/etc/init.d/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/collector/decollector $(1)/usr/sbin/
else
$(INSTALL_DIR) $(1)/usr/lib/map-plugins
$(CP) $(PKG_BUILD_DIR)/src/collector/decollector.so $(1)/usr/lib/map-plugins
endif
endef
$(eval $(call BuildPackage,wfadatad))
$(eval $(call BuildPackage,wfadatad-collector))

View file

@ -0,0 +1,39 @@
#!/bin/sh /etc/rc.common
START=98
STOP=11
USE_PROCD=1
PROG=/usr/sbin/decollector
service_running() {
ubus -t 2 wait_for ieee1905 ieee1905.map
}
start_service() {
sleep 3
[ -e "/etc/config/mapcontroller" ] && {
local en
config_load mapcontroller
config_get en controller enabled "0"
[ $en -gt 0 ] && {
procd_open_instance
procd_set_param command "$PROG" "-d"
#procd_set_param stdout 1
#procd_set_param stderr 1
procd_close_instance
}
}
}
reload_service() {
stop
start
}
service_triggers()
{
procd_add_reload_trigger mapcontroller
}

View file

@ -4,30 +4,19 @@ START=98
STOP=11
USE_PROCD=1
PROG=/usr/sbin/wfadatad
PROG=/usr/sbin/deagent
service_running() {
ubus -t 2 wait_for ieee1905 ieee1905.map
ubus -t 2 wait_for wifi ieee1905 ieee1905.map
}
start_service() {
procd_open_instance
procd_set_param command "$PROG" "-d" "-t 15"
procd_set_param command "$PROG" "-d" "-t 10"
#procd_set_param stdout 1
#procd_set_param stderr 1
#procd_set_param respawn
procd_close_instance
[ -e "/etc/config/mapcontroller" ] && {
local en
config_load mapcontroller
config_get en controller enabled "0"
[ $en -gt 0 ] && {
procd_open_instance
procd_set_param command "$PROG" "-d -C"
procd_close_instance
}
}
}
reload_service() {