暫無描述

Makefile 6.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. #
  2. # Copyright (C) 2006-2013 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:=zabbix
  9. PKG_VERSION:=2.2.2
  10. PKG_RELEASE:=1
  11. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
  12. PKG_SOURCE_URL:=@SF/zabbix
  13. PKG_MD5SUM:=7f680ad3ef7145840e3de5c7a0f19b7c
  14. PKG_INSTALL:=1
  15. PKG_FIXUP:=autoreconf
  16. include $(INCLUDE_DIR)/package.mk
  17. include $(INCLUDE_DIR)/nls.mk
  18. define Package/zabbix/Default
  19. SECTION:=admin
  20. CATEGORY:=Administration
  21. TITLE:=Zabbix
  22. URL:=http://www.zabbix.com/
  23. SUBMENU:=zabbix
  24. MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
  25. endef
  26. define Package/zabbix-agent
  27. $(call Package/zabbix/Default)
  28. TITLE+= agent
  29. endef
  30. define Package/zabbix-agentd
  31. $(call Package/zabbix/Default)
  32. TITLE+= agentd
  33. endef
  34. define Package/zabbix-extra-mac80211
  35. $(call Package/zabbix/Default)
  36. TITLE+= discovery/userparameters for mac80211
  37. DEPENDS += +zabbix-agentd @PACKAGE_MAC80211_DEBUGFS @KERNEL_DEBUG_FS
  38. endef
  39. define Package/zabbix-extra-network
  40. $(call Package/zabbix/Default)
  41. TITLE+= discovery/userparameters for network
  42. DEPENDS += +zabbix-agentd +libuci-lua +lua
  43. endef
  44. define Package/zabbix-extra-wifi
  45. $(call Package/zabbix/Default)
  46. TITLE+= discovery/userparameters for wifi
  47. DEPENDS += +zabbix-agentd +libiwinfo-lua +libuci-lua +lua
  48. endef
  49. define Package/zabbix-sender
  50. $(call Package/zabbix/Default)
  51. TITLE+= sender
  52. endef
  53. define Package/zabbix-get
  54. $(call Package/zabbix/Default)
  55. TITLE+= get
  56. endef
  57. define Package/zabbix-server
  58. $(call Package/zabbix/Default)
  59. TITLE+= server
  60. DEPENDS += +libsqlite3
  61. endef
  62. define Package/zabbix-proxy
  63. $(call Package/zabbix/Default)
  64. TITLE+= proxy
  65. DEPENDS += +libsqlite3
  66. endef
  67. define Package/zabbix-extra-mac80211/description
  68. An extra package for zabbix-agentd that adds a discovery rule for mac80211 wifi phy and many userparameters.
  69. It contains an suid helper to allow zabbix-agentd to still run as zabbix user and not as root.
  70. See http://wiki.openwrt.org/doc/howto/zabbix for ready to use zabbix templates.
  71. endef
  72. define Package/zabbix-extra-network/description
  73. An extra package for zabbix-agentd that adds a discovery rule for openwrt network interfaces.
  74. The idea here is to discover only interfaces listed in /etc/config/network (discover br-lan and not eth0.1 and wlan0)
  75. See http://wiki.openwrt.org/doc/howto/zabbix for ready to use zabbix templates.
  76. endef
  77. define Package/zabbix-extra-wifi/description
  78. An extra package for zabbix-agentd that adds a discovery rule for wifi interfaces and many userparameters.
  79. As it uses libiwinfo, it works with all wifi devices supported by openwrt.
  80. See http://wiki.openwrt.org/doc/howto/zabbix for ready to use zabbix templates.
  81. endef
  82. CONFIGURE_ARGS+= \
  83. --enable-agent \
  84. --enable-server \
  85. --enable-proxy \
  86. --disable-java \
  87. --with-sqlite3="$(STAGING_DIR)/usr"
  88. MAKE_FLAGS += ARCH="linux"
  89. define Package/zabbix/install/sbin
  90. $(INSTALL_DIR) \
  91. $(1)/usr/sbin
  92. $(INSTALL_BIN) \
  93. $(PKG_INSTALL_DIR)/usr/sbin/zabbix_$(2) \
  94. $(1)/usr/sbin/
  95. endef
  96. define Package/zabbix/install/bin
  97. $(INSTALL_DIR) \
  98. $(1)/usr/bin
  99. $(INSTALL_BIN) \
  100. $(PKG_INSTALL_DIR)/usr/bin/zabbix_$(2) \
  101. $(1)/usr/bin/
  102. endef
  103. define Package/zabbix/install/etc
  104. $(INSTALL_DIR) \
  105. $(1)/etc
  106. $(INSTALL_CONF) \
  107. $(PKG_INSTALL_DIR)/etc/zabbix_$(2).conf \
  108. $(1)/etc/
  109. endef
  110. define Package/zabbix/install/init.d
  111. $(INSTALL_DIR) \
  112. $(1)/etc/init.d
  113. $(INSTALL_BIN) \
  114. ./files/zabbix_$(2).init \
  115. $(1)/etc/init.d/zabbix_$(2)
  116. endef
  117. define Package/zabbix/install/zabbix.conf.d
  118. $(INSTALL_DIR) \
  119. $(1)/etc/zabbix_agentd.conf.d
  120. $(INSTALL_BIN) \
  121. ./files/$(2) \
  122. $(1)/etc/zabbix_agentd.conf.d/$(2)
  123. endef
  124. define Package/zabbix-agent/conffiles
  125. /etc/zabbix_agent.conf
  126. endef
  127. define Package/zabbix-agentd/conffiles
  128. /etc/zabbix_agentd.conf
  129. endef
  130. define Package/zabbix-server/conffiles
  131. /etc/zabbix_server.conf
  132. endef
  133. define Package/zabbix-proxy/conffiles
  134. /etc/zabbix_proxy.conf
  135. endef
  136. ifdef CONFIG_PACKAGE_zabbix-extra-mac80211
  137. define Build/Prepare/zabbix-extra-mac80211
  138. mkdir -p $(PKG_BUILD_DIR)/zabbix-extra-mac80211
  139. $(CP) ./files/zabbix_helper_mac80211.c $(PKG_BUILD_DIR)/zabbix-extra-mac80211/
  140. endef
  141. define Build/Compile/zabbix-extra-mac80211
  142. $(TARGET_CC) $(TARGET_CFLAGS) $(PKG_BUILD_DIR)/zabbix-extra-mac80211/zabbix_helper_mac80211.c -o $(PKG_BUILD_DIR)/zabbix-extra-mac80211/zabbix_helper_mac80211
  143. endef
  144. endif
  145. define Build/Prepare
  146. $(call Build/Prepare/Default)
  147. $(call Build/Prepare/zabbix-extra-mac80211)
  148. endef
  149. define Build/Compile
  150. $(call Build/Compile/Default)
  151. $(call Build/Compile/zabbix-extra-mac80211)
  152. endef
  153. define Package/zabbix-agent/install
  154. $(call Package/zabbix/install/sbin,$(1),agent)
  155. $(call Package/zabbix/install/etc,$(1),agent)
  156. endef
  157. define Package/zabbix-agentd/install
  158. $(INSTALL_DIR) $(1)/etc/zabbix_agentd.conf.d
  159. $(call Package/zabbix/install/sbin,$(1),agentd)
  160. $(call Package/zabbix/install/etc,$(1),agentd)
  161. $(call Package/zabbix/install/init.d,$(1),agentd)
  162. endef
  163. define Package/zabbix-extra-mac80211/install
  164. $(call Package/zabbix/install/zabbix.conf.d,$(1),mac80211)
  165. $(INSTALL_DIR) $(1)/usr/bin
  166. $(INSTALL_BIN) $(PKG_BUILD_DIR)/zabbix-extra-mac80211/zabbix_helper_mac80211 $(1)/usr/bin/
  167. chmod 4755 $(1)/usr/bin/zabbix_helper_mac80211
  168. endef
  169. define Package/zabbix-extra-network/install
  170. $(call Package/zabbix/install/zabbix.conf.d,$(1),network)
  171. endef
  172. define Package/zabbix-extra-wifi/install
  173. $(call Package/zabbix/install/zabbix.conf.d,$(1),wifi)
  174. endef
  175. define Package/zabbix-sender/install
  176. $(call Package/zabbix/install/bin,$(1),sender)
  177. endef
  178. define Package/zabbix-get/install
  179. $(call Package/zabbix/install/bin,$(1),get)
  180. endef
  181. define Package/zabbix-server/install
  182. $(call Package/zabbix/install/sbin,$(1),server)
  183. $(call Package/zabbix/install/etc,$(1),server)
  184. endef
  185. define Package/zabbix-proxy/install
  186. $(call Package/zabbix/install/sbin,$(1),proxy)
  187. $(call Package/zabbix/install/etc,$(1),proxy)
  188. endef
  189. $(eval $(call BuildPackage,zabbix-agent))
  190. $(eval $(call BuildPackage,zabbix-agentd))
  191. $(eval $(call BuildPackage,zabbix-extra-mac80211))
  192. $(eval $(call BuildPackage,zabbix-extra-network))
  193. $(eval $(call BuildPackage,zabbix-extra-wifi))
  194. $(eval $(call BuildPackage,zabbix-sender))
  195. $(eval $(call BuildPackage,zabbix-server))
  196. $(eval $(call BuildPackage,zabbix-proxy))
  197. $(eval $(call BuildPackage,zabbix-get))