rulengd: add package

Signed-off-by: Hrvoje Varga <hrvoje.varga@sartura.hr>
This commit is contained in:
Hrvoje Varga 2018-02-02 14:33:47 +01:00 committed by Sukru Senli
parent 22b9d0f698
commit e39fc84722
3 changed files with 71 additions and 0 deletions

44
rulengd/Makefile Normal file
View file

@ -0,0 +1,44 @@
#
# Copyright (C) 2018 Inteno
#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=rulengd
PKG_VERSION:=1.0.0
PKG_RELEASE:=1
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_SOURCE_PROTO=git
PKG_SOURCE_URL:=http://public.inteno.se/rulengd.git
PKG_SOURCE_VERSION:=ba3bc1d0e0219c43c970bb7a332132572da6115a
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_SUBDIR:=${PKG_NAME}-${PKG_VERSION}
PKG_MAINTAINER:=Sartura Support for Inteno <support-inteno@sartura.hr>
PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/rulengd
CATEGORY:=Utilities
TITLE:=RuleEngine daemon
DEPENDS:=+ubox +uci +ubus +json-c +libjson-c
MENU:=1
endef
define Package/rulengd/description
rulengd listens for events and executes speficied methods if the incoming event arguments contain speficied ones.
endef
define Package/rulengd/install
$(CP) ./files/* $(1)/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rulengd $(1)/usr/bin/
$(INSTALL_DIR) $(1)/etc/config
endef
$(eval $(call BuildPackage,rulengd))

View file

@ -0,0 +1,7 @@
config rule
option event 'wifi.radio.channel_changed'
list event_data "{'radio': 0, 'reason': 1}"
list event_data "{'channels': [1, 2, 3]}"
option method 'file->write'
list method_data "{'path': '/tmp/test_file.txt'}"
list method_data "{'data': 'channel changed!'}"

View file

@ -0,0 +1,20 @@
#!/bin/sh /etc/rc.common
#
# Start the rulengd
#
START=100
PID_FILE=/var/state/rulengd.pid
start() {
start-stop-daemon -S -b -m -p $PID_FILE -x /usr/bin/rulengd -- -r ruleng
}
stop() {
start-stop-daemon -K -p $PID_FILE
}
restart() {
stop
start
}