You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

84 lines
2.2 KiB

  1. #
  2. # Copyright (C) 2014 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. PKG_NAME:=smartsnmpd
  9. PKG_VERSION:=2015-02-22
  10. PKG_RELEASE:=2
  11. PKG_SOURCE_PROTO:=git
  12. PKG_SOURCE_URL:=https://github.com/credosemi/smartsnmp
  13. PKG_SOURCE_VERSION:=ca1d455fd06748caa629fe7ad16a47cec8877b93
  14. PKG_MIRROR_HASH:=fda89ec37944b4f800eb3c0147678745b57f08c87f10d246d3c9d165a43418b4
  15. PKG_MAINTAINER:=Xiongfei Guo <xfguo@credosemi.com>
  16. PKG_LICENSE:=GPL-2.0-or-later
  17. PKG_LICENSE_FILES:=LICENSE
  18. PKG_BUILD_DEPENDS:=scons/host
  19. include $(INCLUDE_DIR)/package.mk
  20. include ../../devel/scons/scons.mk
  21. define Package/smartsnmpd
  22. SECTION:=net
  23. CATEGORY:=Network
  24. DEPENDS+=+lua +liblua +libubox +libuci-lua +libubus-lua
  25. TITLE:=Smart-SNMP (Agent)
  26. URL:=https://github.com/credosemi/smartsnmp
  27. endef
  28. define Package/smartsnmpd/description
  29. smartsnmpd is an implementation of SNMP Agent. Its goal is "Easily
  30. writing boring SNMP MIB with Lua". This package add native support
  31. for OpenWrt. Include using ubus and uci to get system info/status.
  32. And, it use libubox/uloop as low level event-driven library.
  33. endef
  34. ifeq ($(CONFIG_BIG_ENDIAN),y)
  35. TARGET_CFLAGS += -DBIG_ENDIAN
  36. else
  37. TARGET_CFLAGS += -DLITTLE_ENDIAN
  38. endif
  39. SCONS_OPTIONS += --transport=uloop
  40. define Build/Configure
  41. (cd $(PKG_BUILD_DIR); \
  42. $(SCONS_VARS) \
  43. CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
  44. scons \
  45. prefix=/usr \
  46. $(SCONS_OPTIONS) \
  47. )
  48. endef
  49. define Package/smartsnmpd/conffiles
  50. /etc/config/smartsnmpd
  51. endef
  52. define Package/smartsnmpd/install
  53. $(INSTALL_DIR) $(1)/usr/sbin
  54. $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/smartsnmpd $(1)/usr/sbin/smartsnmpd
  55. $(INSTALL_DIR) $(1)/usr/lib/lua/smartsnmp
  56. $(INSTALL_BIN) $(PKG_BUILD_DIR)/build/smartsnmp/core.so $(1)/usr/lib/lua/smartsnmp/core.so
  57. $(INSTALL_BIN) $(PKG_BUILD_DIR)/lualib/smartsnmp/*.lua $(1)/usr/lib/lua/smartsnmp/
  58. $(INSTALL_DIR) $(1)/usr/lib/lua/smartsnmp/mibs
  59. $(INSTALL_BIN) ./files/mibs/*.lua $(1)/usr/lib/lua/smartsnmp/mibs/
  60. $(INSTALL_DIR) $(1)/etc/config
  61. $(INSTALL_DATA) ./files/smartsnmpd.conf $(1)/etc/config/smartsnmpd
  62. $(INSTALL_DIR) $(1)/etc/init.d
  63. $(INSTALL_BIN) ./files/smartsnmpd.init $(1)/etc/init.d/smartsnmpd
  64. endef
  65. $(eval $(call BuildPackage,smartsnmpd))