# # Copyright (C) 2014 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk PKG_NAME:=smartsnmpd PKG_VERSION:=2015-02-22 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/credosemi/smartsnmp PKG_SOURCE_VERSION:=ca1d455fd06748caa629fe7ad16a47cec8877b93 PKG_MIRROR_HASH:=fda89ec37944b4f800eb3c0147678745b57f08c87f10d246d3c9d165a43418b4 PKG_MAINTAINER:=Xiongfei Guo PKG_LICENSE:=GPL-2.0-or-later PKG_LICENSE_FILES:=LICENSE PKG_BUILD_DEPENDS:=scons/host include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/scons.mk define Package/smartsnmpd SECTION:=net CATEGORY:=Network DEPENDS+=+lua +liblua +libubox +libuci-lua +libubus-lua TITLE:=Smart-SNMP (Agent) URL:=https://github.com/credosemi/smartsnmp endef define Package/smartsnmpd/description smartsnmpd is an implementation of SNMP Agent. Its goal is "Easily writing boring SNMP MIB with Lua". This package add native support for OpenWrt. Include using ubus and uci to get system info/status. And, it use libubox/uloop as low level event-driven library. endef ifeq ($(CONFIG_BIG_ENDIAN),y) TARGET_CFLAGS += -DBIG_ENDIAN else TARGET_CFLAGS += -DLITTLE_ENDIAN endif SCONS_OPTIONS += --transport=uloop define Build/Configure (cd $(PKG_BUILD_DIR); \ $(SCONS_VARS) \ CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \ scons \ prefix=/usr \ $(SCONS_OPTIONS) \ ) endef define Package/smartsnmpd/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/smartsnmpd $(1)/usr/sbin/smartsnmpd $(INSTALL_DIR) $(1)/usr/lib/lua/smartsnmp $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/smartsnmp/core.so $(1)/usr/lib/lua/smartsnmp/core.so $(INSTALL_BIN) $(PKG_BUILD_DIR)/lualib/smartsnmp/*.lua $(1)/usr/lib/lua/smartsnmp/ $(INSTALL_DIR) $(1)/usr/lib/lua/smartsnmp/mibs $(INSTALL_BIN) ./files/mibs/*.lua $(1)/usr/lib/lua/smartsnmp/mibs/ $(INSTALL_DIR) $(1)/etc/config $(INSTALL_DATA) ./files/smartsnmpd.conf $(1)/etc/config/smartsnmpd $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/smartsnmpd.init $(1)/etc/init.d/smartsnmpd endef $(eval $(call BuildPackage,smartsnmpd))